dominic smith, m0blf server-side developer, rsgbiota.org
Post on 19-Dec-2015
213 views
TRANSCRIPT
Dominic Smith, M0BLFServer-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>
What was Web 1.0?
Website:Contained text information
Data output:Unstructured text and
images
User experience:Little interactivity; content
cannot be reused easily
What is Web 2.0?
Websites:Encourage Participation (‘Social’)
Personalised
Data output:Structured formats (XML)
Licensed for ‘remixing’ API
User experience:Rich, very personalised
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
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
Flickrhttp://www.flickr.com/searchPhotographs of ham
activities
Many released under ‘Creative Commons’
Many geo-tagged
Ham Radio group
SERVICES
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
delicioushttp://delicious.com/search?p=hamradioShare bookmarks
About 8700 websites tagged ‘hamradio’
SERVICES
Facebook163 groups about ham radio
Even an RSGB group!
But: What do they do?
SERVICES
‘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!
‘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
‘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
Microformats
Permit events, contacts, etc. to be semantically marked-up on
standard webpages.
Next-generation‘semantic
browsers’ perform relevant actions.
TECHNOLOGIES
The problem
To get much further, we need amateur radio websites to release data to developers in suitable formats.
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.
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
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>
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>…
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
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.
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
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.
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
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
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
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!
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>…
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
/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
/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)
/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
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
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
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
© Dominic Smith 2008Released under Creative CommonsNon-commercial, By attribution, Share Alike 2.0 (UK – England and Wales)