dominic smith, m0blf server-side developer, rsgbiota.org

36
Dominic Smith, M0BLF Server-side developer, rsgbiota.org

Post on 19-Dec-2015

213 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

Dominic Smith, M0BLFServer-side developer, rsgbiota.org

Page 2: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

What is Web 2.0?

Web 2.0 is a living term describing changing trends in the use of World Wide Web technology and web design that aims to enhance creativity, information sharing, collaboration and functionality of the web. Web 2.0 concepts have led to the development and evolution of web-based communities and hosted services, such as social-networking sites, video sharing sites, wikis, blogs, and folksonomies. […] Although the term suggests a new version of the World Wide Web, it does not refer to an update to any technical specifications, but to changes in the ways software developers and end-users utilize the Web. <http://en.wikipedia.org/wiki/Web_2.0>

Page 3: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

What was Web 1.0?

Website:Contained text information

Data output:Unstructured text and

images

User experience:Little interactivity; content

cannot be reused easily

Page 4: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

What is Web 2.0?

Websites:Encourage Participation (‘Social’)

Personalised

Data output:Structured formats (XML)

Licensed for ‘remixing’ API

User experience:Rich, very personalised

Page 5: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

Twitterhttp://search.twitter.com/search?q=hamrShort messages, sent

via the website, desktop client software, SMS, mobile web…

Amateur-radio related messages tagged with #HAMR

List of Hams on Twitter to ‘follow’ at hamtwits.com

SERVICES

Page 6: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

TwitterSERVICES

m3jfm getting ready to leave for the hfc 07:06 AM October 11, 2008 from web magicbug Just woke up still alive and slightly hung over, waiting for @Gadget17 to wash then off to get breakfast! 07:37 AM October 11, 2008 from web dnas2 Setting up at HFC #HAMR about 23 hours ago from twibble magicbug had breakfast, now waiting for the lectures to start. first up is the "joys of contesting" by lee g0mtn about 23 hours ago from webmagicbug had breakfast, now waiting for the lectures to start. first up is the "joys of contesting" by lee g0mtn about 23 hours ago from web dnas2 #HAMR HFC going well so far. IOTA session was good. L:52.201,-0.293: about 18 hours ago from twhirl magicbug In a talk about antennas! about 17 hours ago from txt Royce_Hunt @magicbug you should have run a sweepstake on how many times they say dBi. about 16 hours ago from Twinkle in reply to magicbug

Page 7: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

Flickrhttp://www.flickr.com/searchPhotographs of ham

activities

Many released under ‘Creative Commons’

Many geo-tagged

Ham Radio group

SERVICES

Page 8: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

YouTubehttp://uk.youtube.com/results?search_

query=ham+radioNot just teenagers singing in bedrooms!

Videos of QSOs

‘How-tos’

Sizeable community: K7AGE has >1,600 subscribers

SERVICES

Page 9: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

delicioushttp://delicious.com/search?p=hamradioShare bookmarks

About 8700 websites tagged ‘hamradio’

SERVICES

Page 10: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

Facebook163 groups about ham radio

Even an RSGB group!

But: What do they do?

SERVICES

Page 11: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

‘Mashing-up’

If we use a number of these websites, we can ‘mash-up’ (integrate) the structured data from them.

Imagine a Dxpedition: - used Twitter to inform hams of their position and activity- put geo-tagged photographs on a photosharing website (eg. Flickr)- uploaded geo-tagged YouTube videos each day- recorded a GPS trace of its progress…

SERVICES

TF/M0BLF in August 2008 did just that!

Page 12: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

‘Mashing-up’SERVICES

1) We arrived in Dalvík

Driven 515km fm Geysir-Dalvik via Thingvellir. 9am boat to Grimsey tomorrow. L:65.9680,-18.5349: 07:58 PM August 03, 2008 from

txt

2) Sent geo-tagged ‘tweet’

3) Recorded YouTube ‘vlog’

4) Because this content is referenced both in place & time, it can be combined with other content from the web programmatically

Photo: by stonepi on Flickr. CC-licensed

Page 13: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

‘Mashing-up’

‘The hot thing’ in web development

Great potential for use in amateur radio – particularly DX websites

rsgbiota.org gets YouTube Dxpedition videos

SERVICES

Page 14: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

Microformats

Permit events, contacts, etc. to be semantically marked-up on

standard webpages.

Next-generation‘semantic

browsers’ perform relevant actions.

TECHNOLOGIES

Page 15: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

The problem

To get much further, we need amateur radio websites to release data to developers in suitable formats.

Page 16: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

Logbook dataTECHNOLOGIES

Logbook data is the basic data-type of amateur radio.

Neither Cabrillo nor ADIF are suitable for web applications.

Adopting a new logging format which is able to be used with web applications is necessary if we are to really take advantage of the power that ‘mash-ups’ and APIs provide.

Page 17: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

Logbook dataTECHNOLOGIES

Logging software of the future?

Technologically, there is no reason why this couldn’t

be done tomorrow… if the data were in the

appropriate formats!

Callsign:

Add this QSO to:

M0BLF

LoTW

Frequency: 14.260Mode: Phone/USBTime: 2010-01-01 00:00:00Z

Dominic Smith,Harrowstones, Harrowbeer Lane, Yelverton, Devon, PL20 6EA. England

Current location: 50.49697, -4.09073 View on map

Weather at location: Sunny, 18CTop local news: Good Samaritan fights for life

Page 18: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

Logbook dataTECHNOLOGIES

The native language of data interchange over

the internet is XML: eXtensible

Markup Language

Think of it as a grammar, and

anyone can supply the vocabulary.

<DOCUMENT-TYPE-DECLARATION><documentElement> <someElement> <anotherElement withAttribute=“TRUE”> <anotherElementThisTimeEmpty /> </anotherElement> </someElement><someOtherElement>ContainingText</some OtherElement></documentElement>

Page 19: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

XDIFTECHNOLOGIES

XDIF is a draft specification for

the reformulation of ADIF as an

XML-compatible format.

Project led by Leigh WA5ZNU

xdif.org

<qsos> <qso> <my> <equipment use="home-k2"/> </my> <band>40m</band> <frequency>7.040</frequency> <mode emission="A1A">CW</mode> <begin>2006-03-12T22:18:00Z</begin> <om> <control> <callsign>N6KR</callsign>…

Page 20: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

XDIFTECHNOLOGIES

An XDIF file can be divided into three sections:

1.‘Definitions’ - Define the equipment in the station

2.‘My’ – Information which is valid for every QSO:2a – ‘Control’ – Information about the operator

2b – ‘Location’ – Information about the shack’s QTH

3. ‘QSOs’ – Contains one or more QSOs

Page 21: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

XDIFTECHNOLOGIES

<log><definitions> <equipment id=“shack”> <antenna>Dipole</antenna> <rig>FT-1000MP</rig> <power>100</power> </equipment> <equipment id=“mobile”> <antenna>Whip</antenna> <rig>IC-706</rig> <power>10</power> </equipment></definitions>

Start the log by defining the equipment used for all QSOs in the log.

Give different IDs to each different combination of equipment used for any given QSO.

Page 22: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

XDIFTECHNOLOGIES

<my><control> <callsign>M0BLF</callsign> <name>Dominic Smith</name> <webpage>http://www…</webpage> <mailingAddress>…</mailingAddress> <clubs> <club name=“RSGB” webpage=“http://www.rsgb.org” /> <club name=“CDXC” webpage=“http://www.cdxc.org.uk”/> </clubs></control>

The my/control section includes non-changing information about the operator.

If multi-operator / guest-operator station, this is given per-QSO

Page 23: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

XDIFTECHNOLOGIES

<location> <cq_zone>14</cq_zone> <itu_zone>27</itu_zone> <gridsquare>IO70wl</gridsquare> <lat>50.49697</lat> <lon> -4.09073</lon> <qth>Yelverton</qth> <state>Devon</state> <dxcc>233</dxcc> <continent>EU</continent></location></my>

The my/location section includes non-changing information about the station location.

If the log has multiple locations, this is given per-QSO.

Page 24: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

XDIFTECHNOLOGIES

Each QSO then has:

1.‘My’ - Information about the operator/station in this QSO, which is different from the global ‘my’, and a link to

the correct equipment definition.

2.‘OM’ – Control and Location information for the other station

3. The normal data – Band, Mode, Time

Page 25: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

XDIFTECHNOLOGIES

<qsos> <qso> <my> <equipment use=“shack”/> </my> <om> <control> <callsign>G3ZAY</callsign> </control> <location> <dxcc>233</dxcc> </location> </om>

The QSO information

Information additional to the <my> section in the header

Links the QSO to the definition of the equipment in the header

About the other station & operator

Page 26: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

XDIFTECHNOLOGIES

<band>20m</band> <frequency>14.260</frequency> <mode emission=“J3E”>SSB</mode> <begin>2008-09-28T17:29:32Z</begin> <end>2008-09-28T17:30:23Z</end> </qso> <qso> … </qso>

</qsos></log>

The QSO information

Page 27: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

XDIFTECHNOLOGIES

Logs in XDIF format would be easier to move

around…… and easier for

the programmers too as all modern operating systems understand XML-

compliant files already.

eQSL

LoTW

rsgbiota

Clublog

Shack computer

Names of services are indicative only!

Page 28: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

XML is eXtensible!TECHNOLOGIES

One of the strengths of XML

(and therefore XDIF too) is that

you can add your own tags.

Awards and contests can add to XDIF without

changing it.

<log xmlns:iota="http://www.rsgbiota.org/xml/"> <definitions> …</definitions> <my> <control> <callsign>M0BLF</callsign> <name>Dominic Smith</name> <webpage>http://www.m0blf.org.uk</webpage> </control> <location> <qth>Harborne, Birmingham</qth> <lat>52.45584</lat> <lon>-1.94703</lon> <iota:myIota> <iota:island id="9292">Great Britain</iota:island> <iota:grpRef>EU-005</iota:grpRef> </iota:myIota> </location> </my>…

Page 29: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

bbc.co.uk/programmesTECHNOLOGIES

Every BBC series and episode has a

unique ID and permanent

webpage, with transmission data

in XML.

Webpage about a series

Webpage about an episode

XML listing of future episodesXML listing of

future episodes in a genre

Page 30: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

/qsosTECHNOLOGIES

And what if we did this with XDIF logbook data…?

www.domsmith.co.uk/amateur-radio/qsos

/m0blfXDIF listing of my latest QSOs

/m0blf/g1abcMy latest QSOs with G1ABC

/m0blf/f-g1abc/2008/09/03/QSOs with F/G1ABC on 3 Sept. 2008

/m0blf/*/2007/08/*/YO-DXQSOs in YO DX Contest, Aug. 2007

Page 31: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

/qsosTECHNOLOGIES

XML isn’t particularly

human-readable…

But it can be transformed into a normal-looking webpage using

XSL

XSLT Engine (inside user’s web-browser)

Page 32: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

/qsosTECHNOLOGIES

Now that the log data can be found at

a predictable URL and is in a computer-

understandable format, it can be

queried using existing web

technologies – no need to reinvent the

wheel!

Using AJAX (XMLHTTP) for a log-search page

Page 33: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

Reciprocity = QSL

If many amateurs had their QSOs in

a /qsos-like system, on their own servers,

QSO credit for awards could be

given on the basis of reciprocity:

No key-pair certificates AND you

control your data!(1) You request credit from award body’s server(2) Award body’s server fetches your QSOs from your server.(3) It connects to the servers owned by the people you contacted, and fetches XDIF records for those QSOs.

(4) After checking matches, credits are reported to you.

TECHNOLOGIES

Page 34: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

Reciprocity = QSL

How does the award server know where to find other people’s QSOs?

Two options:

1)Central (independent) database translating callsigns to URLs for a given date

Probably simplest, but once again central dB

2)Search engine crawling the web looking for XDIF files.Not storing, just finding them!

TECHNOLOGIES

Page 35: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

Reciprocity = QSL?

You control your data = Good but also bad:

You can delete/edit QSOs but implications for award credits eg if QSO subsequently vanishes?

What if people don’t use permanent URLs?

Can we trust the data?Linked to off-air recordings per QSO?

TECHNOLOGIES

Page 36: Dominic Smith, M0BLF Server-side developer, rsgbiota.org

© Dominic Smith 2008Released under Creative CommonsNon-commercial, By attribution, Share Alike 2.0 (UK – England and Wales)