SlideShare a Scribd company logo
1 of 72
Download to read offline
WORLD SERVICE FUTURE MEDIA

                The News
                27 Languages
                One app ?

                DAVID VELLA, SOFTWARE DEVELOPER
                david.vella@bbc.co.uk
                @indeox



WORLD SERVICE                                     David Vella | Over The Air | September 2011
WORLD SERVICE        David Vella | Over The Air | September 2011

What is the World Service
What itʼs not...
It is not BBC World




       WORLD SERVICE                                                             David Vella | Over The Air | September 2011

And that itʼs not BBC World - as I have discovered 2 minutes into my interview
Nor is it Radio 4 - Insomniac Edition

                                                                                   1 AM




                                                                              5 AM



       WORLD SERVICE                                                                       David Vella | Over The Air | September 2011

Neither is it the insomniac version of Radio 4, which broadcasts the World Service between 1 and 5AM
The World Service
 International arm of the BBC




       WORLD SERVICE                                                                        David Vella | Over The Air | September 2011

The World Service is the international arm of the BBC
Its home is Bush House, in Aldwych - the last year it will be here before moving to Broadcasting House on Regent Street
The World Service
 International arm of the BBC

      Around 2000 staff members
        27 non-English Language Services
        2 television stations
        60 radio networks
        Overall reach of over 180,000,000 people
        Online and mobile



       WORLD SERVICE                                                                        David Vella | Over The Air | September 2011

A Language service is a newsroom in its own accord. We donʼt translate news. Thereʼs original journalism, and in addition we take
global news and give it a local feel.
Services range from large ones like Arabic (24 hours trimedia) to Burmese or Gahuza where we provide impartial news in areas
where stable independent media is NA.
Could be as simple as an hour radio tx every day and a mobile news website.
Not targeting just the regions, thereʼs the diaspora as well. Persians in the US, Somalis in the UK, Hausa speakers in Poland
The World Service
 International arm of the BBC

      Around 2000 staff members
        27 non-English Language Services
        2 television stations
        60 radio networks
        Overall reach of over 180,000,000 people
        Online and mobile



       WORLD SERVICE                           David Vella | Over The Air | September 2011

Thereʼs a lot of content coming out of here.
The World Service
 Average online daily output



                                           600 stories

                                           500 images

                                           60 Audio/Video Clips




       WORLD SERVICE                                          David Vella | Over The Air | September 2011

All of this comes out on 27 websites....
Online and Mobile




       WORLD SERVICE                              David Vella | Over The Air | September 2011

27 websites across all the different languages.
And in addition...
Online and Mobile




       WORLD SERVICE                                                                David Vella | Over The Air | September 2011

each of these websites have a corresponding mobile site. So weʼre at 54 in total.
Online and Mobile - Single Production Workflow




                                                                                                       Desktop


              Journalist                                    CMS




                                                                                                       Mobile


       WORLD SERVICE                                                                          David Vella | Over The Air | September 2011

All of this is managed by one CMS, where the journalists input the content once, and it gets output automatically for both desktop
and mobile
Online and Mobile - Video Delivery



                                                                              FLASH PLAYER




       WORLD SERVICE                                                          David Vella | Over The Air | September 2011

To hit the widest possible range of devices, we have a series of fallbacks.
Starting with the flash player
Online and Mobile - Video Delivery



                                             FLASH PLAYER




                                            HTML5 <video>




       WORLD SERVICE                         David Vella | Over The Air | September 2011

Failing Flash, the video tag is attempted
Online and Mobile - Video Delivery



                                                                  FLASH PLAYER




                                                                HTML5 <video>




                                                                Provide download




       WORLD SERVICE                                              David Vella | Over The Air | September 2011

And failing that too, we provide the link to the video asset.
We do try to get content out there
Descubren !"" " #‫ 6 " ""5ا3( 2( 1 " ""%0 " ""/.%ن ز+ " ""*)(: ' " ""&%و‬Denuncian ola de arrestos de disidentes en Cuba ! 78‫ة أ‬
Британские ученые: водоросли ;"" <!="" 0‫ ""@=?> ا‬AB‫ ا‬C3 ‫!اء‬EA"" 0‫ن ا‬F‫> < ""@?%د‬H"" I‫ ""!ا‬J‫دان وا‬KA"" 0‫ب ا‬KM"" N compuesto en
Al menos O"" <‫%ر‬Q@"" +‫ ا‬R"" <!HSE"" ' C3 TU?"" J >@="" V :‫.%ن‬H."" 0‫ ا‬помогут уберечься от солнц                                                                                           

                   600 *@"J!"3 (V (#%"#‫ ز#"!در‬W"IKJ ‫ 2"%+"%ل‬Y"Z ‫ ا#!ان‬siete muerток 

                                 ООН размa a Argentina                                                                                                               Поддельное
искусство в Германии España: polémica por reforma constitucional para contener el déficit 
                                               ros desde el aire a damnificados por Irene                                                                                15
F%[@"" " " ‫ 8 " " ""_^ت ا‬de l'ANC entendu ! `                        Text Scripts Renacimiento y otras noticias de arte
                                                                                 del

Magoya bayan Julius Malema sun kara da 'yan sanda Стрічка заголовків Стрічка a""J‫/* ا‬E""V Wb""V ‫; و‬c""6 ‫""!ای‬Z
İspanya anayasa değişikliğine  ‫؟‬a"" " " " " "A" " "/" " "f Y"" " " " " "+%"" " ." " " " " " + ،‫ در ا#" " " " " ""!ان‬R"" " " " " "#W"" " M" " " " " " Z ‫" " " " " ""*د‬S" " "V ‫  واردات‬заголовків
y a k ı n              !!!!!!!!!!!!!!                                  !!!!!!!!!
 
C?Hc0‫! ا‬HEA"" " " 0‫* ا‬U?"" " " ' ‫ي‬K"" " " Z%?["" " " <‫ !!!!!!!!!!!!!!!!!!! ز‬

Chile ময়সীমা                                                                                     В Голландии появится первая искуственная

50 ‫" " " ""*ود‬QZ T"" " " "`%E@"" " " "+F‫ ا‬ic@6 ‫: 1" " " ""*د‬C?H0 ‫!ي‬jA"" " " "1 *"" " " "I%"" " " "6 гора Arsenal reforzará delantera con un surcoreano
Стрічка заголовків !!!!!!!!!!!!!!!!!!! !!! Reith Lectures %E"" " " " " 0‫أ‬
6                                                                         உலக நகர&க'( ெப+நா- ./ைக  !!!!!

‫[%#( و‬M"" " " " SERVICE‫ " " " ""*ارس‬V ‫ " " " ""% در‬k Y?M.SM"" " " " m (c/nU' ‫ " " " ""!ح‬p !!!!!!!! !!!!!!!!!! ை
    WORLD k‫را‬                                                                                       David Vella | Over The Air | September 2011

WIKJ ‫ 2%+%ل‬YZ ‫ !!! !! ا#!ان‬Стрічка заголовків                                                                                                                            ‫@%ن‬J!/Z‫د‬
Text scripts

              Not so bad when you use more common scripts




      WORLD SERVICE                           David Vella | Over The Air | September 2011

Spanish, Russian and Chinese
Text scripts

                      Slightly trickier with more complex scripts




      WORLD SERVICE                                     David Vella | Over The Air | September 2011

Burmese, Bengali and Tamil
Text scripts




                                                           =      F
      WORLD SERVICE                                               David Vella | Over The Air | September 2011

Glyphs. Character substitution should occur and displayed as...
Text scripts

                       Traditionally provided font as a download...




       WORLD SERVICE                                                                             David Vella | Over The Air | September 2011

We would get the users to install fonts on their machines
Not a great experience, and asking your viewers to install anything is not really a good thing
Text scripts

                                            ...but more recently




                                             @font-face
                                         (it’s not just to keep designers happy)




       WORLD SERVICE                                                                           David Vella | Over The Air | September 2011

this little feature of CSS is for embedding custom fonts on your site. Has been in Explorer since version 4
Itʼs typically known for making your sites look pretty and though of as a gimmick.
Text scripts
                                      The ability to read the
                                   content is somewhat desirable




        WORLD SERVICE                                                                             David Vella | Over The Air | September 2011

But whilst having beautiful typography is a good thing, the ability to read content ranks higher up the list.

Instead of greeting users with this.....
Text scripts
                                      The ability to read the
                                   content is somewhat desirable




        WORLD SERVICE                                                        David Vella | Over The Air | September 2011

theyʼre greeted with this instead, straight off the bat. No installations.
Text scripts




                       But what about mobile?




       WORLD SERVICE                                                  David Vella | Over The Air | September 2011

On the cheap handsets, youʼre lucky to get CSS, let alone font-face
Text scripts on mobile




       WORLD SERVICE                                                      David Vella | Over The Air | September 2011

Going back to our portfolio, and have a closer look at the mobile sites
Text scripts on mobile




       WORLD SERVICE                                                         David Vella | Over The Air | September 2011

It all looks quite neat - because this is mainly a slide in a presentation
Text scripts on mobile




      WORLD SERVICE                                                         David Vella | Over The Air | September 2011

But in the real world, people with lower end phones see beautiful boxes!!

High end phones don’t always fare much better
Text scripts on mobile
 Arabic/Persian on Android




      WORLD SERVICE                                                                    David Vella | Over The Air | September 2011

That text is actually unreadable. You’ll notice that we’re missing ligatures. Has been fixed in 2.3.3, only recently.

We found our solution in a very little known HTML tag. Not sure if you’ve heard of it, but we’ll share the secret
Text scripts on mobile




                         <img>


   WORLD SERVICE                 David Vella | Over The Air | September 2011
Text scripts on mobile




                                                                                                      Desktop



              Journalist                                   CMS




                                                                                                      Mobile              Image
                                                                                                                          Mobile

       WORLD SERVICE                                                                         David Vella | Over The Air | September 2011

When journalists publish in these languages, a second version of the mobile version is also published
Text scripts on mobile
                      Regular Text Based   Image Based




      WORLD SERVICE                                 David Vella | Over The Air | September 2011

Every paragraph is output as an image
Text scripts on mobile

                Regular Text Based                                 Image Based




       WORLD SERVICE                                                                   David Vella | Over The Air | September 2011

We give the users a link at the top of the pages - “If you can’t read the text below, follow this link”, which takes them to
the image based version
Text scripts on mobile

          <html>
              <head>...</head>
              <body>
                      <img src=”p1.gif”>
                      <img src=”p2.gif”>
                      <img src=”p3.gif”>
                      <img src=”p4.gif”>
                      <img src=”p5.gif”>
                      <img src=”p6.gif”>
                  <img src=”p7.gif”>
                  <img src=”p8.gif”>
              </body>
          </html>



      WORLD SERVICE                                                                    David Vella | Over The Air | September 2011

Yes the story pages do look like this.
We did this part of the presentation at a W3C event. Was a bit awkward! But it works
Text scripts on mobile


          • Images display on pretty much all mobile devices
          • Pango for the text layout www.pango.org
          • Average page size 35kB (vs 25kB text version)
          • In use for seven languages:
              Bengali, Burmese, Hindi, Urdu, Nepali, Persian and Tamil

          • This is temporary



      WORLD SERVICE                                                                   David Vella | Over The Air | September 2011

Pango, open source lib does the layout, rendering happens with Cairo. It’s strong point is that it does
internationalisation.
Apps




WORLD SERVICE          David Vella | Over The Air | September 2011
Mobile Apps




                         Native                                                   HTML

      WORLD SERVICE                                                              David Vella | Over The Air | September 2011

News app, very popular.... different approach for the World Service
Debate has been done to death - not going into it
Always ends with the same conclusion - it depends
It depends what app you’re making. your team expertise? how much time do you have? be in an app store? It goes on
and on.
Mobile Apps




                                                      +


      WORLD SERVICE                                       David Vella | Over The Air | September 2011

This is essentially our technology stack
Phonegap, by the lovely people at Nitobi, in Vancouver.
For those not familiar with phonegap...
Mobile Apps - PhoneGap




                                                        www




      WORLD SERVICE                                                                  David Vella | Over The Air | September 2011

it’s essentially app shell, with a ‘www’ directory at the heart of it
You put your files in there, and publish to multiple platforms.... (Android, iOS, webOS, Blackberry and more)
Mobile Apps - PhoneGap




          • Open Source

          • Get access to native APIs through JS
          CAMERA, STORAGE, CONTACTS, CONNECTION TYPE OR BUILD YOUR OWN



          • Submit to app stores



      WORLD SERVICE                                                                David Vella | Over The Air | September 2011

Open Source,
Access to native APIs. Connection type: 3G/Wifi (very handy to deliver different quality media depending on which speed
you’re on)
Submit
Mobile Apps - PhoneGap




                                          www.yoursite.com/app



                                                           www




       WORLD SERVICE                                                                    David Vella | Over The Air | September 2011

but the best part is this... you can grab the ‘www’ directory... and host it yourself
This approach allows you to leave the stores at anytime
No more store approvals, no more waiting. update anytime.
Mobile Apps




                                                  Titanium
                                            www.appcelerator.com



      WORLD SERVICE                                                                    David Vella | Over The Air | September 2011

Titanium uses a different approach.
Takes JS and compiles to native, gives you better performance
The buttons and lists are real, they’re not CSS recreations
But you code to their API, so it’s not as straightforward to just put the code on the web
Mobile Apps




      WORLD SERVICE                                                          David Vella | Over The Air | September 2011

The other half of the stack is HTML
Plain old HTML+CSS+JS - no learning curve if you’re a web dev
If you have a team invested in open web technologies, take advantage of it
Mobile Apps




      WORLD SERVICE                                                                 David Vella | Over The Air | September 2011

You can build it the normal fashioned way - multiple HTML files, a few CSS and JS.
Technically nothing wrong with it, but it’s sluggish on a phone
Mobile Apps
                                                    Javascript




      WORLD SERVICE                                              David Vella | Over The Air | September 2011

Single Page Application - Javascript doing the heavy lifting
Several ways and methods you can do this...
Mobile Apps




      WORLD SERVICE                                           David Vella | Over The Air | September 2011

First prototype
Took only a couple of days - had offline. 150 lines of code
Using only jQuery. Easy! Yes we can do this
Mobile Apps



                           Plain raw JS

                           jQuery / zeptoJS

                           jQuery Mobile

                           Backbone / Sammy / JavascriptMVC

                           Sencha Touch / Dojo / Sproutcore



      WORLD SERVICE                                                     David Vella | Over The Air | September 2011

Wanted to keep it simple and not rely too much on 3rd party libraries
Mobile Apps




                                 CSS3 + jQuery + iScroll




       WORLD SERVICE                                  David Vella | Over The Air | September 2011

This was our toolbox.
iScroll is a nice little library by Matteo Spinelli
X
 Mobile Apps




                                 div { position: fixed; }


                                 div { overflow: auto; }




      WORLD SERVICE                                         David Vella | Over The Air | September 2011

Does not work on Mobile Safari on iPhone
iOS5 will fix it, but in the meantime, there’s workarounds
Mobile Apps
iScroll
http://cubiq.org



                        Fixed in place




                        Fixed in place




    WORLD SERVICE   David Vella | Over The Air | September 2011
Mobile Apps




                             CSS3 + jQuery + iScroll




      WORLD SERVICE                                                              David Vella | Over The Air | September 2011

Coding away. Features start coming in, bugs creep up. adding more features in.
Blinkers on
Mobile Apps




      WORLD SERVICE                                                             David Vella | Over The Air | September 2011

Adding code, error handling
Different feeds coming in at different times (News, Business, Sport, Science)
Need to update the UI accordingly
But the code started getting out of hand.
Mobile Apps



                                           User Interface Code




                                                  Core Code




      WORLD SERVICE                                              David Vella | Over The Air | September 2011

So while the UI code was ok, the core needed some tough love.
We had a look at JS frameworks again
Mobile Apps




      WORLD SERVICE                                                                  David Vella | Over The Air | September 2011

4Kb of goodness
Written and opensourced by the people at DocumentCloud
Gives a light Model/View/Controller structure to your JS app
It was chosen because it is not very opinionated and still gives you a lot of freedom to do what you want.
Mobile Apps




      WORLD SERVICE                                                                 David Vella | Over The Air | September 2011

In a typical mobile app, you get different views of the same data. You need to keep track of what data is shown where.
Mobile Apps




      WORLD SERVICE                                                                   David Vella | Over The Air | September 2011

The same data, shown in different ways.
Do not be fooled into thinking that just because it’s HTML+JS it won’t get complex. It will.
“Oh it’s only a newsreader app, how complex can it get?” - famous last words
Mobile Apps



                                            User Interface Code



                                           Rewritten Core Code




      WORLD SERVICE                                                               David Vella | Over The Air | September 2011

The unimposing nature of Backbone allowed for a swift rewrite, we got beautiful code.
And most importantly didn’t try to come up with yet another solution to a problem which has already been solved
before.
Mobile Apps




                  Offline




  WORLD SERVICE            David Vella | Over The Air | September 2011
Mobile Apps - Offline




                         • Application Cache



                         • Local Storage




      WORLD SERVICE                                                 David Vella | Over The Air | September 2011

App Cache - Allows you to choose what assets can be saved offline
Local Storage - JS Driven

App Cache - Needs to be served from the web
Mobile Apps - Offline
 localStorage



                       localStorage.setItem(‘hello’,	
  ‘world’);




                       localStorage.getItem(‘hello’);
                       //	
  returns:	
  world




       WORLD SERVICE                                                             David Vella | Over The Air | September 2011

Very simple
You can only store strings in local storage. So if you want to store images...
Mobile Apps - Offline
 localStorage




                              1011010101010101010101
                              1010101010010101010101base64,/9j/4AAQSkZJRgABAQEAZABkAAD/
                                               Base64
                              11001010101010101010




      WORLD SERVICE                                                 David Vella | Over The Air | September 2011

Need to convert to Base64 first
You get a string representation of the image binary
Mobile Apps - Offline
 localStorage




    <img src=”data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAA...




      WORLD SERVICE                                David Vella | Over The Air | September 2011

Base64 enlarge the image size by about 10% or so
How much space do you get?
Mobile Apps - Offline
 localStorage




                                          5 UTF-16
                                          of
                                             MB



      WORLD SERVICE                                  David Vella | Over The Air | September 2011

It varies, but generally you get 5 megs

But it’s UTF16
Mobile Apps - Offline
 localStorage




                            2.5 MB




      WORLD SERVICE                  David Vella | Over The Air | September 2011

So you get half the space
Mobile Apps




                  Testing / Debugging




  WORLD SERVICE                   David Vella | Over The Air | September 2011
Mobile Apps - Testing




                                                      QUnit

      WORLD SERVICE                                              David Vella | Over The Air | September 2011

It’s just Javascript - throw QUnit, JSUnit at it
Affectionately called Tarantula - A big bug chasing other bugs
Mobile Apps - Debugging
 weinre - Web Inspector Remote




      WORLD SERVICE                                             David Vella | Over The Air | September 2011

Debugging. On a phone can be a pain
Weinre - Stands for Web Inspector Remote
allows you to connect remotely into the device and inspect it
You can install your own, or phonegap have a hosted version
Mobile Apps - Debugging
weinre

                          http://debug.phonegap.com/



 Insert code:
  <script src="http://debug.phonegap.com/target/target-script-min.js#testapp"></script>




 Go to:
  http://debug.phonegap.com/client/#testapp




  WORLD SERVICE                                                  David Vella | Over The Air | September 2011
Mobile Apps - Test Distribution




                                               testflightapp.com

       WORLD SERVICE                                                                    David Vella | Over The Air | September 2011

A hat tip to the guys at testflight
iOS only - takes the pain out of sending updates of your app during testing. And if you’ve done this, you know it’s a
pain. It’s all done over the air. Android definitely wins in this department.

What i’m trying to say is, the tools are there. It’s a very exciting time. New ideas are being explored all the time and are
pushing the web forward. Do experiment.
Mobile Apps




                  The plan




  WORLD SERVICE              David Vella | Over The Air | September 2011
Mobile Apps




      WORLD SERVICE                                                                   David Vella | Over The Air | September 2011

Going for Russian for iPhones first (for testing reasons), Android shortly after. And we’ll start adding other languages
bit by bit, and more features like picture galleries
Mobile Apps




                                                        www




      WORLD SERVICE                                                                  David Vella | Over The Air | September 2011

While the plan is to release it as a downloadable app through the stores, depending on the reaction, we’ll assess also
releasing it out as a normal browsable URL.
Questions?
                  (please be kind)




WORLD SERVICE                        David Vella | Over The Air | September 2011
Thank you

 david.vella@bbc.co.uk
 @indeox


WORLD SERVICE                   David Vella | Over The Air | September 2011

More Related Content

Recently uploaded

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Featured

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 

Featured (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

The News. 27 Languages. One App.

  • 1. WORLD SERVICE FUTURE MEDIA The News 27 Languages One app ? DAVID VELLA, SOFTWARE DEVELOPER david.vella@bbc.co.uk @indeox WORLD SERVICE David Vella | Over The Air | September 2011
  • 2. WORLD SERVICE David Vella | Over The Air | September 2011 What is the World Service What itʼs not...
  • 3. It is not BBC World WORLD SERVICE David Vella | Over The Air | September 2011 And that itʼs not BBC World - as I have discovered 2 minutes into my interview
  • 4. Nor is it Radio 4 - Insomniac Edition 1 AM 5 AM WORLD SERVICE David Vella | Over The Air | September 2011 Neither is it the insomniac version of Radio 4, which broadcasts the World Service between 1 and 5AM
  • 5. The World Service International arm of the BBC WORLD SERVICE David Vella | Over The Air | September 2011 The World Service is the international arm of the BBC Its home is Bush House, in Aldwych - the last year it will be here before moving to Broadcasting House on Regent Street
  • 6. The World Service International arm of the BBC Around 2000 staff members 27 non-English Language Services 2 television stations 60 radio networks Overall reach of over 180,000,000 people Online and mobile WORLD SERVICE David Vella | Over The Air | September 2011 A Language service is a newsroom in its own accord. We donʼt translate news. Thereʼs original journalism, and in addition we take global news and give it a local feel. Services range from large ones like Arabic (24 hours trimedia) to Burmese or Gahuza where we provide impartial news in areas where stable independent media is NA. Could be as simple as an hour radio tx every day and a mobile news website. Not targeting just the regions, thereʼs the diaspora as well. Persians in the US, Somalis in the UK, Hausa speakers in Poland
  • 7. The World Service International arm of the BBC Around 2000 staff members 27 non-English Language Services 2 television stations 60 radio networks Overall reach of over 180,000,000 people Online and mobile WORLD SERVICE David Vella | Over The Air | September 2011 Thereʼs a lot of content coming out of here.
  • 8. The World Service Average online daily output 600 stories 500 images 60 Audio/Video Clips WORLD SERVICE David Vella | Over The Air | September 2011 All of this comes out on 27 websites....
  • 9. Online and Mobile WORLD SERVICE David Vella | Over The Air | September 2011 27 websites across all the different languages. And in addition...
  • 10. Online and Mobile WORLD SERVICE David Vella | Over The Air | September 2011 each of these websites have a corresponding mobile site. So weʼre at 54 in total.
  • 11. Online and Mobile - Single Production Workflow Desktop Journalist CMS Mobile WORLD SERVICE David Vella | Over The Air | September 2011 All of this is managed by one CMS, where the journalists input the content once, and it gets output automatically for both desktop and mobile
  • 12. Online and Mobile - Video Delivery FLASH PLAYER WORLD SERVICE David Vella | Over The Air | September 2011 To hit the widest possible range of devices, we have a series of fallbacks. Starting with the flash player
  • 13. Online and Mobile - Video Delivery FLASH PLAYER HTML5 <video> WORLD SERVICE David Vella | Over The Air | September 2011 Failing Flash, the video tag is attempted
  • 14. Online and Mobile - Video Delivery FLASH PLAYER HTML5 <video> Provide download WORLD SERVICE David Vella | Over The Air | September 2011 And failing that too, we provide the link to the video asset. We do try to get content out there
  • 15. Descubren !"" " #‫ 6 " ""5ا3( 2( 1 " ""%0 " ""/.%ن ز+ " ""*)(: ' " ""&%و‬Denuncian ola de arrestos de disidentes en Cuba ! 78‫ة أ‬ Британские ученые: водоросли ;"" <!="" 0‫ ""@=?> ا‬AB‫ ا‬C3 ‫!اء‬EA"" 0‫ن ا‬F‫> < ""@?%د‬H"" I‫ ""!ا‬J‫دان وا‬KA"" 0‫ب ا‬KM"" N compuesto en Al menos O"" <‫%ر‬Q@"" +‫ ا‬R"" <!HSE"" ' C3 TU?"" J >@="" V :‫.%ن‬H."" 0‫ ا‬помогут уберечься от солнц   600 *@"J!"3 (V (#%"#‫ ز#"!در‬W"IKJ ‫ 2"%+"%ل‬Y"Z ‫ ا#!ان‬siete muerток    ООН размa a Argentina    Поддельное искусство в Германии España: polémica por reforma constitucional para contener el déficit    ros desde el aire a damnificados por Irene  15 F%[@"" " " ‫ 8 " " ""_^ت ا‬de l'ANC entendu ! `    Text Scripts Renacimiento y otras noticias de arte del Magoya bayan Julius Malema sun kara da 'yan sanda Стрічка заголовків Стрічка a""J‫/* ا‬E""V Wb""V ‫; و‬c""6 ‫""!ای‬Z İspanya anayasa değişikliğine  ‫؟‬a"" " " " " "A" " "/" " "f Y"" " " " " "+%"" " ." " " " " " + ،‫ در ا#" " " " " ""!ان‬R"" " " " " "#W"" " M" " " " " " Z ‫" " " " " ""*د‬S" " "V ‫  واردات‬заголовків y a k ı n  !!!!!!!!!!!!!! !!!!!!!!!   C?Hc0‫! ا‬HEA"" " " 0‫* ا‬U?"" " " ' ‫ي‬K"" " " Z%?["" " " <‫ !!!!!!!!!!!!!!!!!!! ز‬ Chile ময়সীমা    В Голландии появится первая искуственная 50 ‫" " " ""*ود‬QZ T"" " " "`%E@"" " " "+F‫ ا‬ic@6 ‫: 1" " " ""*د‬C?H0 ‫!ي‬jA"" " " "1 *"" " " "I%"" " " "6 гора Arsenal reforzará delantera con un surcoreano Стрічка заголовків !!!!!!!!!!!!!!!!!!! !!! Reith Lectures %E"" " " " " 0‫أ‬ 6    உலக நகர&க'( ெப+நா- ./ைக  !!!!! ‫[%#( و‬M"" " " " SERVICE‫ " " " ""*ارس‬V ‫ " " " ""% در‬k Y?M.SM"" " " " m (c/nU' ‫ " " " ""!ح‬p !!!!!!!! !!!!!!!!!! ை WORLD k‫را‬ David Vella | Over The Air | September 2011 WIKJ ‫ 2%+%ل‬YZ ‫ !!! !! ا#!ان‬Стрічка заголовків     ‫@%ن‬J!/Z‫د‬
  • 16. Text scripts Not so bad when you use more common scripts WORLD SERVICE David Vella | Over The Air | September 2011 Spanish, Russian and Chinese
  • 17. Text scripts Slightly trickier with more complex scripts WORLD SERVICE David Vella | Over The Air | September 2011 Burmese, Bengali and Tamil
  • 18. Text scripts = F WORLD SERVICE David Vella | Over The Air | September 2011 Glyphs. Character substitution should occur and displayed as...
  • 19. Text scripts Traditionally provided font as a download... WORLD SERVICE David Vella | Over The Air | September 2011 We would get the users to install fonts on their machines Not a great experience, and asking your viewers to install anything is not really a good thing
  • 20. Text scripts ...but more recently @font-face (it’s not just to keep designers happy) WORLD SERVICE David Vella | Over The Air | September 2011 this little feature of CSS is for embedding custom fonts on your site. Has been in Explorer since version 4 Itʼs typically known for making your sites look pretty and though of as a gimmick.
  • 21. Text scripts The ability to read the content is somewhat desirable WORLD SERVICE David Vella | Over The Air | September 2011 But whilst having beautiful typography is a good thing, the ability to read content ranks higher up the list. Instead of greeting users with this.....
  • 22. Text scripts The ability to read the content is somewhat desirable WORLD SERVICE David Vella | Over The Air | September 2011 theyʼre greeted with this instead, straight off the bat. No installations.
  • 23. Text scripts But what about mobile? WORLD SERVICE David Vella | Over The Air | September 2011 On the cheap handsets, youʼre lucky to get CSS, let alone font-face
  • 24. Text scripts on mobile WORLD SERVICE David Vella | Over The Air | September 2011 Going back to our portfolio, and have a closer look at the mobile sites
  • 25. Text scripts on mobile WORLD SERVICE David Vella | Over The Air | September 2011 It all looks quite neat - because this is mainly a slide in a presentation
  • 26. Text scripts on mobile WORLD SERVICE David Vella | Over The Air | September 2011 But in the real world, people with lower end phones see beautiful boxes!! High end phones don’t always fare much better
  • 27. Text scripts on mobile Arabic/Persian on Android WORLD SERVICE David Vella | Over The Air | September 2011 That text is actually unreadable. You’ll notice that we’re missing ligatures. Has been fixed in 2.3.3, only recently. We found our solution in a very little known HTML tag. Not sure if you’ve heard of it, but we’ll share the secret
  • 28. Text scripts on mobile <img> WORLD SERVICE David Vella | Over The Air | September 2011
  • 29. Text scripts on mobile Desktop Journalist CMS Mobile Image Mobile WORLD SERVICE David Vella | Over The Air | September 2011 When journalists publish in these languages, a second version of the mobile version is also published
  • 30. Text scripts on mobile Regular Text Based Image Based WORLD SERVICE David Vella | Over The Air | September 2011 Every paragraph is output as an image
  • 31. Text scripts on mobile Regular Text Based Image Based WORLD SERVICE David Vella | Over The Air | September 2011 We give the users a link at the top of the pages - “If you can’t read the text below, follow this link”, which takes them to the image based version
  • 32. Text scripts on mobile <html> <head>...</head> <body> <img src=”p1.gif”> <img src=”p2.gif”> <img src=”p3.gif”> <img src=”p4.gif”> <img src=”p5.gif”> <img src=”p6.gif”> <img src=”p7.gif”> <img src=”p8.gif”> </body> </html> WORLD SERVICE David Vella | Over The Air | September 2011 Yes the story pages do look like this. We did this part of the presentation at a W3C event. Was a bit awkward! But it works
  • 33. Text scripts on mobile • Images display on pretty much all mobile devices • Pango for the text layout www.pango.org • Average page size 35kB (vs 25kB text version) • In use for seven languages: Bengali, Burmese, Hindi, Urdu, Nepali, Persian and Tamil • This is temporary WORLD SERVICE David Vella | Over The Air | September 2011 Pango, open source lib does the layout, rendering happens with Cairo. It’s strong point is that it does internationalisation.
  • 34. Apps WORLD SERVICE David Vella | Over The Air | September 2011
  • 35. Mobile Apps Native HTML WORLD SERVICE David Vella | Over The Air | September 2011 News app, very popular.... different approach for the World Service Debate has been done to death - not going into it Always ends with the same conclusion - it depends It depends what app you’re making. your team expertise? how much time do you have? be in an app store? It goes on and on.
  • 36. Mobile Apps + WORLD SERVICE David Vella | Over The Air | September 2011 This is essentially our technology stack Phonegap, by the lovely people at Nitobi, in Vancouver. For those not familiar with phonegap...
  • 37. Mobile Apps - PhoneGap www WORLD SERVICE David Vella | Over The Air | September 2011 it’s essentially app shell, with a ‘www’ directory at the heart of it You put your files in there, and publish to multiple platforms.... (Android, iOS, webOS, Blackberry and more)
  • 38. Mobile Apps - PhoneGap • Open Source • Get access to native APIs through JS CAMERA, STORAGE, CONTACTS, CONNECTION TYPE OR BUILD YOUR OWN • Submit to app stores WORLD SERVICE David Vella | Over The Air | September 2011 Open Source, Access to native APIs. Connection type: 3G/Wifi (very handy to deliver different quality media depending on which speed you’re on) Submit
  • 39. Mobile Apps - PhoneGap www.yoursite.com/app www WORLD SERVICE David Vella | Over The Air | September 2011 but the best part is this... you can grab the ‘www’ directory... and host it yourself This approach allows you to leave the stores at anytime No more store approvals, no more waiting. update anytime.
  • 40. Mobile Apps Titanium www.appcelerator.com WORLD SERVICE David Vella | Over The Air | September 2011 Titanium uses a different approach. Takes JS and compiles to native, gives you better performance The buttons and lists are real, they’re not CSS recreations But you code to their API, so it’s not as straightforward to just put the code on the web
  • 41. Mobile Apps WORLD SERVICE David Vella | Over The Air | September 2011 The other half of the stack is HTML Plain old HTML+CSS+JS - no learning curve if you’re a web dev If you have a team invested in open web technologies, take advantage of it
  • 42. Mobile Apps WORLD SERVICE David Vella | Over The Air | September 2011 You can build it the normal fashioned way - multiple HTML files, a few CSS and JS. Technically nothing wrong with it, but it’s sluggish on a phone
  • 43. Mobile Apps Javascript WORLD SERVICE David Vella | Over The Air | September 2011 Single Page Application - Javascript doing the heavy lifting Several ways and methods you can do this...
  • 44. Mobile Apps WORLD SERVICE David Vella | Over The Air | September 2011 First prototype Took only a couple of days - had offline. 150 lines of code Using only jQuery. Easy! Yes we can do this
  • 45. Mobile Apps Plain raw JS jQuery / zeptoJS jQuery Mobile Backbone / Sammy / JavascriptMVC Sencha Touch / Dojo / Sproutcore WORLD SERVICE David Vella | Over The Air | September 2011 Wanted to keep it simple and not rely too much on 3rd party libraries
  • 46. Mobile Apps CSS3 + jQuery + iScroll WORLD SERVICE David Vella | Over The Air | September 2011 This was our toolbox. iScroll is a nice little library by Matteo Spinelli
  • 47. X Mobile Apps div { position: fixed; } div { overflow: auto; } WORLD SERVICE David Vella | Over The Air | September 2011 Does not work on Mobile Safari on iPhone iOS5 will fix it, but in the meantime, there’s workarounds
  • 48. Mobile Apps iScroll http://cubiq.org Fixed in place Fixed in place WORLD SERVICE David Vella | Over The Air | September 2011
  • 49. Mobile Apps CSS3 + jQuery + iScroll WORLD SERVICE David Vella | Over The Air | September 2011 Coding away. Features start coming in, bugs creep up. adding more features in. Blinkers on
  • 50. Mobile Apps WORLD SERVICE David Vella | Over The Air | September 2011 Adding code, error handling Different feeds coming in at different times (News, Business, Sport, Science) Need to update the UI accordingly But the code started getting out of hand.
  • 51. Mobile Apps User Interface Code Core Code WORLD SERVICE David Vella | Over The Air | September 2011 So while the UI code was ok, the core needed some tough love. We had a look at JS frameworks again
  • 52. Mobile Apps WORLD SERVICE David Vella | Over The Air | September 2011 4Kb of goodness Written and opensourced by the people at DocumentCloud Gives a light Model/View/Controller structure to your JS app It was chosen because it is not very opinionated and still gives you a lot of freedom to do what you want.
  • 53. Mobile Apps WORLD SERVICE David Vella | Over The Air | September 2011 In a typical mobile app, you get different views of the same data. You need to keep track of what data is shown where.
  • 54. Mobile Apps WORLD SERVICE David Vella | Over The Air | September 2011 The same data, shown in different ways. Do not be fooled into thinking that just because it’s HTML+JS it won’t get complex. It will. “Oh it’s only a newsreader app, how complex can it get?” - famous last words
  • 55. Mobile Apps User Interface Code Rewritten Core Code WORLD SERVICE David Vella | Over The Air | September 2011 The unimposing nature of Backbone allowed for a swift rewrite, we got beautiful code. And most importantly didn’t try to come up with yet another solution to a problem which has already been solved before.
  • 56. Mobile Apps Offline WORLD SERVICE David Vella | Over The Air | September 2011
  • 57. Mobile Apps - Offline • Application Cache • Local Storage WORLD SERVICE David Vella | Over The Air | September 2011 App Cache - Allows you to choose what assets can be saved offline Local Storage - JS Driven App Cache - Needs to be served from the web
  • 58. Mobile Apps - Offline localStorage localStorage.setItem(‘hello’,  ‘world’); localStorage.getItem(‘hello’); //  returns:  world WORLD SERVICE David Vella | Over The Air | September 2011 Very simple You can only store strings in local storage. So if you want to store images...
  • 59. Mobile Apps - Offline localStorage 1011010101010101010101 1010101010010101010101base64,/9j/4AAQSkZJRgABAQEAZABkAAD/ Base64 11001010101010101010 WORLD SERVICE David Vella | Over The Air | September 2011 Need to convert to Base64 first You get a string representation of the image binary
  • 60. Mobile Apps - Offline localStorage <img src=”data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAA... WORLD SERVICE David Vella | Over The Air | September 2011 Base64 enlarge the image size by about 10% or so How much space do you get?
  • 61. Mobile Apps - Offline localStorage 5 UTF-16 of MB WORLD SERVICE David Vella | Over The Air | September 2011 It varies, but generally you get 5 megs But it’s UTF16
  • 62. Mobile Apps - Offline localStorage 2.5 MB WORLD SERVICE David Vella | Over The Air | September 2011 So you get half the space
  • 63. Mobile Apps Testing / Debugging WORLD SERVICE David Vella | Over The Air | September 2011
  • 64. Mobile Apps - Testing QUnit WORLD SERVICE David Vella | Over The Air | September 2011 It’s just Javascript - throw QUnit, JSUnit at it Affectionately called Tarantula - A big bug chasing other bugs
  • 65. Mobile Apps - Debugging weinre - Web Inspector Remote WORLD SERVICE David Vella | Over The Air | September 2011 Debugging. On a phone can be a pain Weinre - Stands for Web Inspector Remote allows you to connect remotely into the device and inspect it You can install your own, or phonegap have a hosted version
  • 66. Mobile Apps - Debugging weinre http://debug.phonegap.com/ Insert code: <script src="http://debug.phonegap.com/target/target-script-min.js#testapp"></script> Go to: http://debug.phonegap.com/client/#testapp WORLD SERVICE David Vella | Over The Air | September 2011
  • 67. Mobile Apps - Test Distribution testflightapp.com WORLD SERVICE David Vella | Over The Air | September 2011 A hat tip to the guys at testflight iOS only - takes the pain out of sending updates of your app during testing. And if you’ve done this, you know it’s a pain. It’s all done over the air. Android definitely wins in this department. What i’m trying to say is, the tools are there. It’s a very exciting time. New ideas are being explored all the time and are pushing the web forward. Do experiment.
  • 68. Mobile Apps The plan WORLD SERVICE David Vella | Over The Air | September 2011
  • 69. Mobile Apps WORLD SERVICE David Vella | Over The Air | September 2011 Going for Russian for iPhones first (for testing reasons), Android shortly after. And we’ll start adding other languages bit by bit, and more features like picture galleries
  • 70. Mobile Apps www WORLD SERVICE David Vella | Over The Air | September 2011 While the plan is to release it as a downloadable app through the stores, depending on the reaction, we’ll assess also releasing it out as a normal browsable URL.
  • 71. Questions? (please be kind) WORLD SERVICE David Vella | Over The Air | September 2011
  • 72. Thank you david.vella@bbc.co.uk @indeox WORLD SERVICE David Vella | Over The Air | September 2011