< Return to Video

36C3 Wikipaka WG: KDE Itinerary - A privacy by design travel assistant

  • 0:00 - 0:20
    36c3 preroll music
  • 0:20 - 0:28
    Herald: So, hey, we're finally ready to
    start, we have Volker Krause here with a
  • 0:28 - 0:32
    privacy by design travel assistant and
    it's going to be about building Open
  • 0:32 - 0:38
    Source travel assistants, I think, and
    this talk will be in English. And if you
  • 0:38 - 0:44
    want translations, wenn ihr eine deutsche
    Übersetzung haben wollt, haben wir hier
  • 0:44 - 0:49
    hinten auch ganz tolle Übersetzer in
    unserer Kabine, da könnt ihr auf
  • 0:49 - 0:54
    c3lingo.org mal reinhören, wie die alles
    live mitreden. Genau. Now. Let's have
  • 0:54 - 0:58
    a warm welcome for Volker here and have
    fun with his talk.
  • 0:58 - 1:00
    Applause
  • 1:00 - 1:06
    Volker Krause: Thank you. OK, so what is
    this about? You probably know those
  • 1:06 - 1:14
    features in, most prominently Google
    Mail, but I think TripIt was the one that
  • 1:14 - 1:21
    pioneered this. So GMail reads your
    email and then detects any kind of booking
  • 1:21 - 1:27
    information in there, like your boarding
    passes, your train tickets, your hotel
  • 1:27 - 1:35
    bookings and so on. And it can integrate
    that into your calendar and can present
  • 1:35 - 1:44
    you a unified itinerary for your entire
    trip and monitor that for changes. And
  • 1:44 - 1:52
    all of that doesn't cost you anything.
    Maybe apart from a bit of your privacy.
  • 1:52 - 1:59
    Well, not too bad, you might think. But if
    you look at what kind of data is actually
  • 1:59 - 2:06
    involved in just your travel. Right.
    The obvious things that come to
  • 2:06 - 2:12
    mind, your name, your birthday, your
    credit card number, your passport number,
  • 2:12 - 2:22
    that kind of information. Right. But that
    isn't even the worst part on this,
  • 2:22 - 2:28
    because those operators don't just get to
    see your specific data for one trip,
  • 2:28 - 2:33
    right? They get to see every… everyone's
    trip. And now if you combine that
  • 2:33 - 2:40
    information, that actually uncovers a lot
    of information about... relations
  • 2:40 - 2:45
    between people, your interests, who
    you work for, where you live and all of
  • 2:45 - 2:52
    that. Right. So pretty much everyone here
    traveled to Leipzig for the last four days
  • 2:52 - 3:00
    in the year. If that happens for
    two of us, once, right, that might be
  • 3:00 - 3:06
    coincidence. If that happens two or three
    years in a row, that is some kind of
  • 3:06 - 3:13
    information. But yeah, what to do
    about that, right? The easy solution
  • 3:13 - 3:22
    is, just not use those services. It's like
    first world luxury stuff anyway. That
  • 3:22 - 3:26
    works until you end up in a foreign
    country where you don't speak any of the
  • 3:26 - 3:32
    local languages and then get introduced to
    their counterpart of Schienenersatzverkehr
  • 3:32 - 3:39
    or Tarifzonenrandgebiet. And at that
    point, you might be interested in actually
  • 3:39 - 3:46
    understanding what's happening on your
    your trip in in some form that you
  • 3:46 - 3:50
    actually understand and that you are
    familiar with, ideally without installing
  • 3:50 - 3:55
    15 different vendor applications for
    whatever you actually might be
  • 3:55 - 4:03
    traveling, right? So we need something
    better. And that obviously leads us to,
  • 4:03 - 4:11
    let's do it ourselves. Then, we can at
    least design this for privacy right from
  • 4:11 - 4:16
    the start. Build it on top of Free
    Software and Open Data. Well, of course,
  • 4:16 - 4:24
    we need to... at least it's not entirely
    obvious that this will actually work,
  • 4:24 - 4:30
    right? The Google and Apple, they have a
    total different amount of resources
  • 4:30 - 4:37
    available for this. So, can we actually
    build this ourselves? So let's have a look
  • 4:37 - 4:46
    at what those services actually need to
    function. And it turns out it's primarily
  • 4:46 - 4:54
    about data, not so much about code.
    There are some difficult parts
  • 4:54 - 4:59
    in terms of code involved as well, like
    the image processing and a PDF to detect a
  • 4:59 - 5:03
    barcode in your boarding pass. But all of
    that exists as ready-made building blocks.
  • 5:03 - 5:11
    So you basically just need to put this
    nicely together. So let's look at the
  • 5:11 - 5:17
    data. That's the more interesting part.
    And in general, that breaks down to
  • 5:17 - 5:23
    three different categories. The first one
    is what I call personal data here. So
  • 5:23 - 5:30
    that's basically booking information,
    documents or tickets, boarding passes,
  • 5:30 - 5:33
    specific for you. So there at least you
    don't have a problem with access because
  • 5:33 - 5:40
    that is sent to you and you need to have
    access to that. But it comes in all kinds
  • 5:40 - 5:48
    of forms and shapes. So there are the
    challenges to actually extract that . The
  • 5:48 - 5:55
    second kind of data is what I would call
    static data. So, for example, the location
  • 5:55 - 6:02
    of an airport. Now, you could argue that
    that could change and there is rumors
  • 6:02 - 6:07
    that some people apparently managed to
    build new airports. I live in Berlin, so I
  • 6:07 - 6:16
    don't believe this. Jokes aside, so,
    "static" refers to within, static within
  • 6:16 - 6:22
    the release cycle of the software. So
    several weeks or a few months. So this is
  • 6:22 - 6:27
    stuff that we can ship as offline
    databases. And offline, of course, helps
  • 6:27 - 6:32
    us with privacy because then you're not
    observable from the outside. And the third
  • 6:32 - 6:42
    category is dynamic data. So stuff that is
    very, very short lived, such as delay
  • 6:42 - 6:46
    information. There is no way we can do
    that offline. If we want that kind of
  • 6:46 - 6:55
    information, we will always need some kind
    of online querying. Then let's look
  • 6:55 - 7:03
    through those three categories in a bit
    more detail. For the booking data, google
  • 7:03 - 7:08
    was faced with the same problem, so they
    used their monopoly and defined a standard
  • 7:08 - 7:16
    in which operators should ideally have
    machine readable annotations on their
  • 7:16 - 7:21
    booking information. And that's awesome,
    because we can just use the same, the same
  • 7:21 - 7:27
    system. That's what nowadays became
    schema.org, which I think Lucas mentioned
  • 7:27 - 7:34
    in the morning as well. At least in
    the US and Europe, you'll find
  • 7:34 - 7:42
    that in about 30 to 50% of booking emails
    you get from hotels, airlines or event
  • 7:42 - 7:50
    brokers. So that's a good start. But then
    there's the rest, which is basically
  • 7:50 - 7:57
    unstructured data, random PDF files or
    HTML emails we have to work with. There's
  • 7:57 - 8:04
    Apple wallet boarding passes. They are
    somewhat semi structured and most
  • 8:04 - 8:16
    widespread for flight tickets. Well,
    that's somewhat usable. And barcodes, so
  • 8:16 - 8:23
    that's what you, again, see on boarding
    passes or train tickets. I could
  • 8:23 - 8:29
    probably fill an entire talk just with the
    various details on the different
  • 8:29 - 8:35
    barcode systems, the one for boarding
    passes, I think, Karsten Nohl had to talk
  • 8:35 - 8:41
    at Congress a few years back, where he
    showed how they work and what you can do
  • 8:41 - 8:50
    with them. Instagram #boardingpass is a
    very nice source of test data. The one
  • 8:50 - 8:55
    that you find on, on German railway
    tickets is also pretty much researched
  • 8:55 - 9:00
    already. The ones we actually had to
    break ourselves were the one for Italy. I
  • 9:00 - 9:05
    think to my knowledge, we are the first
    ones to publish the content of those
  • 9:05 - 9:13
    binary barcodes. And we are currently
    working on the VDV Kernapplikation
  • 9:13 - 9:18
    E-Ticket, which is the standard for German
    local transportation tickets. That
  • 9:18 - 9:24
    actually has some crypto that you need to
    get around to actually see the content. So
  • 9:24 - 9:31
    there is, if you're interested in that
    kind of stuff, there is quite some
  • 9:31 - 9:39
    interesting detail to be found in this.
    But let's continue with the
  • 9:39 - 9:48
    static data. There, of course, we have
    Wikidata. That has almost everything we
  • 9:48 - 9:55
    need. And we are making heavy use of that.
    And that's also why I'm here today on the
  • 9:55 - 10:07
    Wikimedia stage. One thing that
    Wikidata doesn't do perfectly is timezone
  • 10:07 - 10:16
    information. That's why we're using the
    open street map data for this. There's in
  • 10:16 - 10:23
    Wikidata, three different time zone… or
    ways of specifying the time zone. UTC
  • 10:23 - 10:30
    offsets, some kind, of coarse, human
    readable naming like Central European
  • 10:30 - 10:38
    Summer Time, and then the actual IANA time
    zone specifications like Europe/Berlin.
  • 10:38 - 10:42
    And that's the one we actually need
    because they contain daylight saving time
  • 10:42 - 10:47
    transitions. And that is actually crucial
    for travel assistance, because you
  • 10:47 - 10:53
    can have a flight from, say, the US to
    Europe, at the night where there is
  • 10:53 - 10:58
    daylight saving time transition on one
    end. And if we get that wrong, right, we
  • 10:58 - 11:01
    are off by one hour. And that could mean
    you miss your flight. So that we
  • 11:01 - 11:07
    need to get absolutely right. And
    Wikidata there mixes the three timezone
  • 11:07 - 11:17
    variations. So that's why we fall back to
    OpenStreetMap there. Another area
  • 11:17 - 11:23
    that still needs work is vendor specific
    station identifiers. So there's a number
  • 11:23 - 11:29
    of train companies that have their own
    numeric identifier, or alphanumeric
  • 11:29 - 11:35
    identifiers, which you find, for example,
    in barcodes of tickets. So that's our
  • 11:35 - 11:39
    way to actually find out where people are
    traveling. So that's something we are
  • 11:39 - 11:47
    trying to feed into Wikidata as we get our
    hands on those identifiers. For airports,
  • 11:47 - 11:51
    that's easy because they are
    internationally standardized. For train
  • 11:51 - 11:59
    stations, that's a bit more messy. And
    finally, the dynamic data. That's again,
  • 11:59 - 12:08
    an area where we benefit from Google using
    their monopoly. They wanted to have local
  • 12:08 - 12:15
    public transportation information in
    Google Maps. So they defined the GTFS
  • 12:15 - 12:26
    format, which is a way for local transport
    operators to send their schedules to
  • 12:26 - 12:31
    Google. But most of the time, that is done
    in a way that they basically publish this
  • 12:31 - 12:40
    as Open Data. And that way, all of us get
    access to it. And then there's Navitia,
  • 12:40 - 12:46
    which is a Free Software implementation of
    like a routing and journey query service
  • 12:46 - 12:51
    that consumes all of those Open Data
    schedule information. And that then in
  • 12:51 - 13:00
    turn, we can use again to, yeah, find our
    departure schedules, delays and that
  • 13:00 - 13:07
    kind of live information. Apple Wallet
    also has some kind of live updating
  • 13:07 - 13:15
    polling mechanism. But that is somewhat
    dangerous because it leaks personal
  • 13:15 - 13:22
    identifiable information. So the,
    basically, a unique identifier for your
  • 13:22 - 13:28
    pass is sent out with the API request to
    to pull an update. So that is basically
  • 13:28 - 13:34
    just a last resort mechanism if you have
    nothing else. And then there's a bunch of
  • 13:34 - 13:40
    vendor specific, more or less proprietary
    APIs that we could use. They are
  • 13:40 - 13:46
    unfortunately not often compatible with
    Free Software and Open Source, because,
  • 13:46 - 13:51
    they might require API keys that you're
    not allowed to share, or they have terms
  • 13:51 - 13:55
    and conditions that are simply
    incompatible with what we are trying to
  • 13:55 - 14:04
    do. So for some, this works, but there's
    still some room for improvement in those
  • 14:04 - 14:12
    vendors' understanding the value of proper
    Open Data access. OK, so that's the
  • 14:12 - 14:23
    theory, let's have a look at what we have
    actually built for this. So there's two,
  • 14:23 - 14:32
    ya, backend components, so to say there is
    the extraction library that implements the
  • 14:32 - 14:38
    schema.org data model for flights,
    for trains, for hotels, for restaurants
  • 14:38 - 14:49
    and for events. It can do the structured
    data extraction. That might sound easy at
  • 14:49 - 14:56
    first, but it turns out that for some of
    the operators, doing proper JSON array
  • 14:56 - 15:01
    encoding is somewhat hard. So, I mean, you
    need to do a... need to have a comma in
  • 15:01 - 15:09
    between two objects and brackets around
    it. Some of them struggle with that. So we
  • 15:09 - 15:18
    have to have lots of workarounds in, in
    parsing the data we receive. Then we have
  • 15:18 - 15:26
    an unstructured extraction system that's
    basically small scripts per provider
  • 15:26 - 15:33
    or per operator that then, yeah, use
    regular expressions or XPATH queries
  • 15:33 - 15:40
    depending on the input and turn that into
    our data model. We currently, I think,
  • 15:40 - 15:46
    have 50, slightly more than 50 of those. I
    know that Apple has about 600, so that is
  • 15:46 - 15:57
    still one order of magnitude more. But
    it's not impossible. Right. So I think we,
  • 15:57 - 16:04
    we have the means there with Free Software
    to come to a similar result than
  • 16:04 - 16:10
    people that have an Apple or Google scale
    budget for this. The service coverage is
  • 16:10 - 16:15
    actually quite different. So, for Apple,
    I've seen their custom extractor.
  • 16:15 - 16:21
    So they have a lot of like US car rental
    services. We have somewhat more important
  • 16:21 - 16:27
    stuff like CCC tickets. So the Congress
    ticket is actually recognized and I
  • 16:27 - 16:33
    managed to get in with the app. What
    the expection engine also does is it
  • 16:33 - 16:37
    augments whatever we find in the input
    documents by information we have on
  • 16:37 - 16:44
    Wikidata. So we usually have time zones,
    countries, geo coordinates, all that
  • 16:44 - 16:52
    useful stuff for then offering assistance
    features on top. And input formats is
  • 16:52 - 16:58
    basically everything I mentioned. The
    usual stuff you're getting in an email
  • 16:58 - 17:07
    from a transport operator or any kind
    of booking document. The second piece on
  • 17:07 - 17:12
    like, on backend components is the public
    transportation library. That's basically
  • 17:12 - 17:20
    our client API for Navitia mainly, but
    also for some of the proprietary
  • 17:20 - 17:26
    widespread backends like HAFAS. That's the
    stuff Deutsche Bahn is using. And it can
  • 17:26 - 17:31
    aggregate the results from multiple
    backends. And if you're using Open Data in
  • 17:31 - 17:37
    the backend - interference noise - it
    propagates the attribution information
  • 17:37 - 17:44
    correctly. So. And just a few days ago, it
    also gained support for querying train and
  • 17:44 - 17:52
    platform layouts or "Wagenstandsanzeiger"
    in German so we can have all of that in
  • 17:52 - 18:04
    the app. And now of course there's the KDE
    Itinerary app itself. So it has, oh… it's
  • 18:04 - 18:10
    very hard to read here. It's basically a
    timeline with the various booking
  • 18:10 - 18:16
    information you have grouped together by
    trip. It can insert the live weather
  • 18:16 - 18:22
    information. Again, that's online access,
    so it's optional, but yeah, it's kind of
  • 18:22 - 18:30
    useful. And this is… you probably can't
    read that. But that's my train to Leipzig
  • 18:30 - 18:36
    this morning and that's actually the
    Congress entry ticket. And the box at the
  • 18:36 - 18:48
    top is the collapsible group for my trip
    to Leipzig for Congress. And it can
  • 18:48 - 18:56
    show the actual tickets and barcodes,
    including Apple Wallet passes. So, if you
  • 18:56 - 19:02
    sometimes have a, like a manual inspection
    at an airport where they don't scan your
  • 19:02 - 19:08
    boarding pass, but look at it, apparently
    that looks reasonable enough that you can
  • 19:08 - 19:16
    board an aircraft with it. At least, I
    wasn't arrested so far. And then we have
  • 19:16 - 19:22
    one of my favorite features, also powered
    by Wikidata. It's the power plug
  • 19:22 - 19:28
    incompatibility warning. interference
    noise
    - So, I mean, if you're traveling
  • 19:28 - 19:33
    to, say, the US, or UK, you're probably
    aware that they have like incompatible
  • 19:33 - 19:39
    power plugs. But there are some
    countries where this isn't – at least to
  • 19:39 - 19:44
    me, isn't that obvious, like Switzerland
    or Italy, where only half of my power
  • 19:44 - 19:50
    plugs work. So this is the Italy example.
    It tells me that my Schuko plugs won't
  • 19:50 - 20:07
    work, only my Europlugs and. interference
    noise
    - And the right one is, I
  • 20:07 - 20:13
    think for the U.K., where nothing is
    compatible. If you occasionally forget
  • 20:13 - 20:21
    your power plug convertor while traveling,
    that is super useful. And then, of course,
  • 20:21 - 20:28
    we have the integration with real
    time data. So we can show the delay
  • 20:28 - 20:35
    information and platform changes. The part
    in the middle is the alternative
  • 20:35 - 20:39
    connection selection for trains. So
    if you have a, like a train ticket that
  • 20:39 - 20:46
    isn't bound to a specific connection,
    right, then the app lets you pick the one
  • 20:46 - 20:50
    you actually want to take. Or if you're
    missing a connection, you need to move to
  • 20:50 - 20:56
    a different train, you can do that right
    in the app as well. The screenshot on the
  • 20:56 - 21:02
    right hand side is the, like your overall
    travel statistics. So if you're interested
  • 21:02 - 21:09
    in, like, seeing the carbon impact off of
    all your trips and the year over year
  • 21:09 - 21:16
    changes, right, the app shows that to you.
    And I wasn't really successful, but that's
  • 21:16 - 21:21
    largely because the old data is
    incomplete. So if you're interested in
  • 21:21 - 21:27
    that, right, since we have all the data,
    that can help you see if you're
  • 21:27 - 21:34
    actually on the right track there. And
    then to get data into that, we also have a
  • 21:34 - 21:41
    plugin for email clients. This one is for
    for KMail. So it basically then runs the
  • 21:41 - 21:45
    extraction on the email you're
    currently looking at and it shows you a
  • 21:45 - 21:53
    summary of what's in there. In this case,
    my train to Leipzig this morning,
  • 21:53 - 21:57
    including the option to add that to the
    calendar or send it to the app on the
  • 21:57 - 22:06
    phone. We also have the browser extension.
    So this is the website of the yearly KDE
  • 22:06 - 22:11
    conference, which has the schema.org
    annotations on it. And the browser
  • 22:11 - 22:18
    extension recognizes that. And again,
    offers me to to add that either to my
  • 22:18 - 22:27
    calendar or to the itinerary app. And that
    also works on many restaurant websites or
  • 22:27 - 22:34
    event websites. They have those
    annotations on the website for the Google
  • 22:34 - 22:41
    search. So again, we benefit a bit from
    the, Google incomprehensible. OK, then
  • 22:41 - 22:47
    we get to the more experimental stuff that
    basically just was finished in the last
  • 22:47 - 22:55
    couple of days, that we haven't shown
    anywhere else publicly yet. The first one
  • 22:55 - 23:03
    is, and that's a bit better to read, at
    least, if you saw the timeline earlier,
  • 23:03 - 23:08
    right, it had my train booking to Leipzig
    and then the Congress ticket. But that
  • 23:08 - 23:14
    still leaves two gaps, right. I need to
    get from home to the station in Berlin,
  • 23:14 - 23:20
    and I need to get from the station in
    Leipzig to Congress. And what we have now
  • 23:20 - 23:25
    is a way for the app to automatically
    recognize those gaps and fill them with
  • 23:25 - 23:31
    suggestions on what kind of local
    transport you could take. So here the one
  • 23:31 - 23:42
    for Leipzig to Congress is expanded
    and shows the tram. That still needs
  • 23:42 - 23:48
    some work to do live tracking so that
    it accounts for delays and changes your
  • 23:48 - 23:53
    alarm clock in the morning if there's
    delays on that trip. But we have
  • 23:53 - 23:59
    all the building blocks to make the
    whole thing much more smart in this
  • 23:59 - 24:09
    area now. And that, I think was literally
    done yesterday. So that's why the graphics
  • 24:09 - 24:20
    still are very basic. That's the train
    layout, coach layout display for
  • 24:20 - 24:27
    your trip. So that you know where your
    reserved seat on the train can actually be
  • 24:27 - 24:38
    found. Then, I only showed the KMail
    plugin so far. We also have a work-in-
  • 24:38 - 24:43
    progress Thunderbird integration, which is
    probably the much more widespread email
  • 24:43 - 24:52
    client. Featurewise, more or less the same
    I showed for KMail, so it scans the email
  • 24:52 - 24:57
    and displays your summary and offers you
    to put that into the app or, possibly
  • 24:57 - 25:04
    later on also into the calendar.
    This one is even more experimental. I can
  • 25:04 - 25:09
    only show you a screenshot of Web
    Inspector proving that it managed to
  • 25:09 - 25:17
    extract something. That's the integration
    with Nextcloud. I hope we'll have an
  • 25:17 - 25:25
    actual working prototype for this in
    January then. Those two things are, of
  • 25:25 - 25:32
    course, important for you to even get
    to the data, the booking data, that then
  • 25:32 - 25:45
    the app or other tools you built on top
    can consume. OK, so where to get this
  • 25:45 - 25:55
    from? There's the wiki link up there. The
    app is currently not yet in the Play Store
  • 25:55 - 26:01
    or in the F-Droid master repository. We
    have an F-Droid nightly build repository.
  • 26:01 - 26:09
    I hope that within the next month we'll
    get actual official releases in the easier
  • 26:09 - 26:16
    to reach stores than what we have
    right now. If you are interested in
  • 26:16 - 26:24
    helping with that, there's some stuff in
    Wikidata where improvement on the data
  • 26:24 - 26:33
    directly benefits this work, and that is
    specifically around train stations. I
  • 26:33 - 26:37
    think in Germany, last time I checked, we
    still had a few hundred train stations
  • 26:37 - 26:45
    that didn't have geo coordinates or even a
    human readable label. So that's something
  • 26:45 - 26:51
    to look at. Vendor-specific or even the
    more or less standard train station
  • 26:51 - 26:56
    identifiers is something to look at. So
    UIC or IBNR codes for train stations,
  • 26:56 - 27:04
    that helps a lot. Yeah. And then, we kind
    of need test data for the extractions. So,
  • 27:04 - 27:11
    forget everything I said about privacy. If
    you have any kind of booking documents or
  • 27:11 - 27:18
    emails you want to donate to support this
    and get the providers you're using
  • 27:18 - 27:23
    supported in in the extraction engine,
    talk to me. That would be extremely
  • 27:23 - 27:31
    useful. Yeah, that's it. Thank you.
  • 27:31 - 27:33
    Applause
  • 27:33 - 27:37
    Herald: Hello, hello? Yeah. That's a very
    impressive project, I think, do we have
  • 27:37 - 27:44
    questions then I'll hand you my
    microphone. Yes.
  • 27:44 - 27:51
    Q: Would it be possible to extract
    platform lift data for train stations?
  • 27:51 - 27:57
    A: Sorry? Platform….
    Q: Platform lift data.
  • 27:57 - 28:08
    A: Oh, I think Deutsche Bahn has an Open
    Data API for the live status of lifts.
  • 28:08 - 28:16
    That would, of course, in theory be
    possible. What we are trying to do is to
  • 28:16 - 28:22
    be generic enough so that this might not
    be applicable in just one country,
  • 28:22 - 28:29
    although it is very European focused
    because most of the team is there. But
  • 28:29 - 28:34
    lifts is something that is easy enough to
    generalize in a data model, right? Its
  • 28:34 - 28:39
    location on the platform, and, are they
    working or not? So, yeah, that that would
  • 28:39 - 28:49
    be a nice addition. That goes into the
    entire direction of, ya, indoor navigation
  • 28:49 - 28:55
    or navigation around larger train stations
    and airports. So that's probably something
  • 28:55 - 29:01
    where we could use a better overall
    display with the OpenStreetMap data and
  • 29:01 - 29:07
    then augment that with, like the, where
    exactly is your train stopping and in
  • 29:07 - 29:12
    which coach is your seat, and then have
    the lift data so we can basically guide
  • 29:12 - 29:17
    you to the right place in a better
    way. Yeah.
  • 29:17 - 29:26
    Herald: Any more questions? Yes.
    Q: It's the mobile app written in Qt as
  • 29:26 - 29:31
    well?
    A: Yes, most of this is C++ code, because
  • 29:31 - 29:39
    that's what we use at KDE. The mobile
    client as well. There's a bit of Java for
  • 29:39 - 29:46
    platform integration with android. I don't
    think anyone has ever tried to build it on
  • 29:46 - 29:53
    iOS, but of course it works on Linux based
    mobile platforms as well, thanks to Qt and
  • 29:53 - 29:57
    C++, yeah.
    Q: So you mostly talked about the mobile
  • 29:57 - 30:02
    app so far, which is understandable, but
    as it's a QML application does it also run
  • 30:02 - 30:08
    on desktop? And, a second question, how
    do, how do all the plugins and the
  • 30:08 - 30:15
    different instances of the app share their
    data?
  • 30:15 - 30:22
    A: So, yes, the app runs on desktop. I was
    trying to see if I can actually start it
  • 30:22 - 30:31
    here. I'm not sure on which screen it will
    end up. That's where we do most of the
  • 30:31 - 30:43
    development. Let me see if I can move it
    over. Oh, thank you. And I need to find my
  • 30:43 - 30:57
    mouse cursor on the two screens. Uh. I
    think I need to end the presentation
  • 30:57 - 31:11
    first, but, yeah, short answer, of course.
    There we go. And let me switch to… to…
  • 31:11 - 31:19
    yeah, so that's it, running on
    desktop. It has a mobile UI there. That
  • 31:19 - 31:28
    could, of course, be extended to be more
    useful on the desktop as well. And in
  • 31:28 - 31:34
    terms of storage, that is currently
    internal to the app, there is no second
  • 31:34 - 31:42
    process accessing the actual data storage.
    That would just unnecessarily complicate
  • 31:42 - 31:48
    it for now. But if there is a use for
    that, yeah, we'll need to see.
  • 31:48 - 31:54
    Q: Yeah, but, but, but there was an
    option, in the e-mail plugin, for example,
  • 31:54 - 31:58
    to send it to the app. Can I then only
    send it to my local app and not to the
  • 31:58 - 32:03
    mobile app?
    A: Oh, the central app, that's using
  • 32:03 - 32:08
    KDE Connect. That's an integration
    software that allows you to remote control
  • 32:08 - 32:11
    your phone from the desktop. So that's
    basically bundling up all the information
  • 32:11 - 32:17
    and sends it to the app on the phone. And…
    or it can import it locally, so.
  • 32:17 - 32:27
    Herald: OK, do we have other questions?
    No, we don't have time? So then, thank you
  • 32:27 - 32:32
    very much, Volker, maybe you can tell
    people where they can find you if they
  • 32:32 - 32:34
    have anything more they want to talk
    about. But….
  • 32:34 - 32:41
    A: Yeah, I mean, there's my email
    address and otherwise I'll be around all
  • 32:41 - 32:45
    day, all four days.
    Herald: Around where?
  • 32:45 - 32:49
    Volker Krause: Probably somewhere. So it
    just is a bit tricky.
  • 32:49 - 32:53
    Herald: …catch him before he runs away,
    then! All right. So give a round of
  • 32:53 - 32:55
    applause again and thank you, Volker!
  • 32:55 - 32:59
    Applause
  • 32:59 - 33:07
    postroll music
  • 33:07 - 33:26
    Subtitles created by c3subtitles.de
    in the year 2021. Join, and help us!
Title:
36C3 Wikipaka WG: KDE Itinerary - A privacy by design travel assistant
Description:

more » « less
Video Language:
English
Duration:
33:26

English subtitles

Revisions