Showing posts with label voip. Show all posts
Showing posts with label voip. Show all posts

Monday, 17 September 2012

Over The Air 2012

Only just noticed (in September) that I hadn’t posted my notes from Over The Air 2012 in June!

I had a fantastic time — and so did my dad and my son! We had three generations at the same tech conference :-)

I need to write a separate blog post about the LEGO hacks that people put together during and following my LEGO Mindstorms workshop, but in the meantime, here's my notes from the other sessions:

Hacking Science and Space

Ariel Waldman @arielwaldman

invisibility

  • dark energy pushing us apart
  • dark matter keeping us together…
  • invisible superpowers:
    • belt that vibrates when you face north
    • synaesthesia for those that don’t have it…
    • syneseizure — feel vision through a gimp mask!
    • particle windchime
    • what would particle collisions sound like?
    • being used as an augmentation interface in collision labs

cyborgs

  • your phone has loads of sensors, available all the time
  • quake canary
    • monitor on your phone

interstellar

  • humans are really good at pattern recognition
    • galaxy zoo
    • planet hunters
    • the work you do actually gets credited to you!
    • grean peas galaxies
    • discovered as galaxy zoo lets you drill down into data behind images
  • NASA makes stuff available, but not necessarily accessible
    • spacelog.org
    • takes PDFs of transcripts and makes them come to life

science hack day

  • weekend hack day
    • isodrag: a typeface where all the letters have the same wind drag
    • DNAckery: cocktail of extracted Strawberry DNA…
    • arm alarm: won’t shut off until your pulse is angry
    • near death lamp: lights up when an asteroid gets close to the Earth

Open Web Device

Francisco Jordan @mepartoconmigo, O2 Labs

Slides available

  • still lots more people with feature phones than smart phones
    • 4 billion feature phones will be sold between 2011 & 2015
  • mainly because they can’t afford a smart phone
  • especially in Latin America, where Telefonica is trying to grow
  • want to provide a phone for $60-70!
  • Open Web Device - based on Boot 2 Gecko
  • plan to launch in Brazil at beginning of next year
  • Also partnering with Qualcomm to provide the chipset
  • still haven’t decided the OEM(s) who will be manufacturing
  • all open source: http://wiki.mozilla.org/B2G
  • can build your own ROM based on Android 3.0 or 4.0 kernel/driver backends
  • can also build B2G for desktop
  • Gaia is Mozilla’s front-end for B2G (also open source)
  • don’t have to use Gaia — B2G doesn’t even have to look like a phone
  • the keyboard itself is an application
    • you can replace the keyboard with another web app!
  • most new APIs in B2G are also finding their way into Firefox for desktop
    • just download Firefox nightly to see what’s available
  • apps are just webapps in a directory with a manifest.webapp JSON file
    • can use appcache to store stuff locally as well
  • using Sumon as a demo webapp
    • runs about 3x faster on B2G than on iOS!
  • Marketplace: http://marketplace.mozilla.org
    • open for developers, but not yet for users
  • or install from web: navigator.mozApps.install(manifesturl);
    • install an app from directly a web page

Anyone Can Code an Embedded Controller

Nicholas Herriot @nicholasherriot

Example device: connected printer — text questions to it and it will print them out!

  • Vodafone trying to bring connectivity to embedded controllers
  • Arduino and other microcontrollers exploding since 2005
  • mbed (http://mbed.org/) similar to Arduino, but started by ARM
    • 96MHz
    • ARM Cortex M3
    • can run USB host and I2C slave
  • online compiler & tool chain - works cross platform
  • easy to install & run code:
    • runs as a USB mass storage device
    • just copy code across and press restart button
  • can export from mbed online IDE to other toolchains:
    • CodeRed: eclipse & gcc based
    • others
  • wanted to set up a platform for microcontrollers
  • online IDE has a built-in SVN repository per project
  • built-in libraries has lots of common stuff
  • can extend with downloadable libraries (search available through online IDE)
  • Vodafone has an M2M network - GDSB
    • used by Kindle, TomTom
    • SIMs don’t expire, don’t need to top up
  • trying to open GDSB to developers…

You do know it is a phone, don’t you? (Adding voice to your mobile apps)

Tim Panton @Steely_Glint, Tropo

Tropo API

  • SaaS for server-side phone handling
    • Voice (PSTN, VoIP/SIP, Skype, iNum)
    • SMS
    • Other services via HTTP or XMPP
    • Multi-lingual (with multiple voices in each language)
  • SaaS provided by Voxeo
  • Web API is JSON/javascript based
  • also scripting APIs for Python, Ruby, etc
  • example uses:
    • making calls without sharing phone numbers (e.g. speaking to taxi driver)
  • scripting vs web api
    • scripting runs on Tropo servers and has no access to external data
    • web api runs on your servers - can access your data
  • also a REST API to start outgoing calls and other control & management services

Phono

  • jQuery plugin to make phone calls from the browser
  • open source client
  • picks up microphone from computer
  • can use server-side voice recognition…
  • can also pick up messaging from the tropo service
  • requires a back-end (but same API for all)
    • Flash
    • Java applet - takes much longer to load
    • Panda (Flash with echo cancellation)
    • WebRTC - native in Chrome Canary
    • PhoneGap/Cordova plugin
    • iPad/iPhone actually works better than most laptops
    • pot luck on Android < 3.2
    • much better on Android >= 3.2
    • early version of native iOS (available in github/phono/phonosdk)
  • can run both Tropo & Phono from a car battery
    • has been done at Burning Man

Development costs

  • in the US can make free calls
  • outside the US, need to ping Tropo for permission
  • they will often let you run a demo server with small number of minutes for no money

Mobile Websites Can Have Nice Fonts Too…

Laura Kalbag @laurakalbag, front-end designer

slides available here

  • typefaces can evoke emotional responses
    • not just in typographers!
  • iOS app: Fonts by AppEngines — shows you all the fonts available on your device
  • embed them on mobile using @font-face in CSS, just like on desktop browsers
    • works on opera mobile, android mobile >4
    • doesn’t work on IE Mobile, Opera Mini
  • sources of fonts:
    • fontsquirrel - all free
    • fontspring - one off license per domain
    • myfonts - one off license per domain
  • but can have a high impact on performance
    • and can flicker when load, etc
  • tips for better performance:
  • hosted fonts:
    • google web fonts - loads of free ones, but not so good quality
    • typekit, fonts.com, fontdeck are better - but pay subscription costs
    • but loaded using javascript… can be laggy
  • watch out for missing fonts on mobile (e.g. no Arial on Android)
  • and fonts can render differently on different devices

choosing a good font

  • heineman: designed for people with dyslexia
  • want to make something that’s really inviting to read, but then just sit back and actually read it easily
  • what makes a typeface relevant?
    • context of content & features of typeface
  • old style or humanist serif: based on early printing presses
  • transitional serif: high contrast, sharp
  • modern serif: modern classic, magazines, high class sophistication
  • egyptian/slab serif: marketing, shouting, very bold
  • humanist sans: clean & easy to read
  • transitional sans: utilitarian, clinical, swiss
  • geometric sans: clean, slick, structural, slightly childlike
  • script: lots of variety, generally not good for body text, better for logos or headers
  • novelty or themed: lack any subtlety, cheesy, decoration on a poster
  • watch out for free fonts — they’ll most likely be overused
  • choose the weight carefully:
    • too heavy is hard to read
    • too light may disappear on smaller screens

laura’s taste

  • easy to read
  • attention to detail
  • subtle
  • well-balanced, consistent & uniform
    • nothing jumps out too much

ePatient 101

Mark A M Kramer @mamk

  • a lot of healthcare is based on communication between the doctor and the patient
  • often doctor communication is not very effective
    • slow responses to email
    • constrained mobile devices due to privacy & security issues
  • big issues just scheduling appointments
  • quantified self — capturing and logging health information:
    • especially body monitoring
    • apps that take photos of food, confirm the food, then estimate the calories
  • Dan Appelquist: most mHealth is focused on the hospital & medical enterprise

Tuesday, 4 October 2011

Over The Air 2011: OpenBTS - Open Source GSM

Will Rogers, Senior Consultant at Detica

  • Open Base Transceiver Station: http://openbts.sourceforge.net/
  • software implementation of radio towers
  • USRP: universal software radio peripheral
  • written in C++ on top of GNU Radio
  • fairly stable – maintained by Free Software Foundation
  • only acts as an access point – doesn’t simulate entire mobile network
    • another project: OpenBSC does more
  • but, can translate GSM into VOIP – Asterix
  • originally built by David Burgess (Range Networks) and Harvind Samra
    • Range Networks building commercial implementations (e.g. Femtocells)
  • originally designed for:
  • enables GSM network for $1/month per subscriber
  • hardly uses any power
  • range depends on antenna & height
    • Burning Man covered 5km – with a microwave backhaul
  • supports handset registration
    • requires no pre-provisioning
    • get a text with a code – reply and your IMSI gets added to the asterix
  • some branches support USSD (free data)
  • requirements:
    • hardware:
      • can run the whole thing in a VM
      • USB (for USRP 1), or ethernet (for USRP 2)
    • software:
      • most linuxes (Ubuntu well supported)
      • GNUradio
      • Asterix PBX
  • USRP was chosen as it was available, but it’s not really designed for GSM
    • better to have multiple of 13MHz clock
    • daughterboards available for various RF frequencies
    • need to have GSM-specific one
  • resources
  • channels
    • default is one logical channel for control
    • everything else (7) for voice
    • that means 7 simultaneous handset calls at once
      • e.g. 3 on-network conversations + one outbound
    • if you want more then you need multiple BTS units
    • if want SMS then need to steal a voice channel for control
  • SMS messages need routing, so OpenBTS includes smsqueue which forwards messages
  • limitations
    • doesn’t support live handover of calls
    • no data support (GPRS or Edge)
    • no way of supporting roaming or billing
    • 3G/UMTS boxes are available, but not yet open source
      • OpenBSC may get there first
    • doesn’t support encryption
  • use CC/MNC of 001/01 – these are the test values
  • OpenBTS console has various commands
    • timsi lists connected IMSIs and IMEIs
    • testcall creates a UDP connection to the phone
      • you can then send Layer 3 packets
    • sendrrlp sends a request for location (as mandated by US Gov)
      • can provide info about cell tower locations and phone will calculate location itself