tantek.com

t

  1. 2013 was a good year for open web standards. Great working with W3C, WHATWG, @microformats, and #indieweb communities.

    Twitter post 418251719303495680
  2. ran GG park, Ocean Beach & back. new Nike+ PRs 10k/53:51, 13.1mi/1:57:02 instagram.com/p/imOngDg9ba/ distilleryimage5.ak.instagram.com/c7c10800724e11e385fa0aedbb89c471_8.jpg

    Twitter post 418179189070901249
  3. 10 mo ago @leahculver showed me Nike+. Pushed me to break, rebuild, break PRs. Going for last 2013 run. I am a #runner

    Twitter post 418050105326198789
  4. Dear @LEGO_Group: From 9719 CDROM readme.txt: legomindstorms.com/help -> 404 Perhaps redirect to lego.com/en-us/mindstorms/support/

    Twitter post 416272952918044672
  5. @film_girl Thanks! Email checking is a tough habit to break. Will likely still open to reply to a few personal emails.

    2013-358 16:15 in-reply-to: https://twitter.com/film_girl/status/415634118316392448 using BBEdit.
    Twitter post 415636846602092544In reply to: https://twitter.com/film_girl/status/415634118316392448
  6. Made mistake of checking email while on holiday. Nearly all hollow marketing. Going to try an email break til 2014.

    Twitter post 415633988729180160
  7. Call yourself a web architect? Where is *your* handcrafted home page? (per @fchimero's architect analogy) #indieweb

    Twitter post 415180443559141376
  8. Monday morning #indieweb reads: * werd.io/2013/the-blog-might-be-dying-but-the-webs-about-to * frankchimero.com/blog/2013/12/homesteading-2014 * kartikprabhu.com/article/blogging-dead

    Twitter post 415178450253905920
  9. goodnight winter solstice. more than ready for longer days once again.

    Twitter post 414612999794884608
  10. more mobile-friendly design tweaks * iframe{max-width:100%} * s/facebook.c/fb.c * view source Flickr URLs, use flic.kr

    Twitter post 414216130476400640
  11. *Still* sore from #NovemberProjectSF PR day. Going to work it out @MissionCliffs walls tonight: facebook.com/events/165237350353194

    Twitter post 414203989442699264
  12. All setup for Homebrew Website Club Meeting simultaneously @MozSF @MozPDX on video! indiewebcamp.com/events/2013-12-18-homebrew-website-club Come on by!

    Twitter post 413496450799378432
  13. @eleddy simply preferring social norms for txt, tweets, updates. @sheppy those "years" perhaps before FB, Twitter, etc

    2013-352 18:25 in-reply-to: https://twitter.com/eleddy/status/413483008847380482 using BBEdit.
    Twitter post 413495331683590144In reply to: https://twitter.com/eleddy/status/413483008847380482
  14. See also Winston Wolfe youtu.be/ANPsHKpti48?t=3m45s cc @sheppy @monstro @brennannovak "So, pretty please, with sugar on top"

    Twitter post 413382889427206144
  15. Seriously, if you say: "wanted to send you a quick" You're 1 lying 2 deceiving yourself 3 marketing 4 or all the above

    Twitter post 413375075518541824
  16. @sheppy wasting time, polluting email previews, pretending to be quick is not polite. Efficient work comms are polite.

    2013-352 10:23 in-reply-to: https://twitter.com/sheppy/status/413371954775609344 using BBEdit.
    Twitter post 413373967500865536In reply to: https://twitter.com/sheppy/status/413371954775609344
  17. @sheppy saying it makes it *less* quick. Starting with such fluff makes email previews useless. Just get to the point.

    2013-352 10:12 in-reply-to: https://twitter.com/sheppy/status/413369652799352832 using BBEdit.
    Twitter post 413371295557242881In reply to: https://twitter.com/sheppy/status/413369652799352832
  18. Would you ever start a txt with "I wanted to send you a quick note." ? Or a tweet? Why in email? New auto-delete rule.

    Twitter post 413369546494717952
  19. @igb "* sucks" is a copout. My calendar my data, I should be able to accept/reject at will. gCal is dumb. #ownyourdata

    2013-351 22:16 in-reply-to: https://twitter.com/igb/status/413175076704374784 using BBEdit.
    Twitter post 413190994776309760In reply to: https://twitter.com/igb/status/413175076704374784
  20. Unsubscribing from more Twitter "See what you're missing" emails. Such crap silo UX will drive people to the #indieweb

    Twitter post 413177913383870464
  21. Click "No" in a Gmail event: "Google Calendar invitations cannot be forwarded via email." No, gCal sucks at identity.

    Twitter post 413174258609946624
  22. @lindsey indeed! @MozSF hosts community events weekly, e.g. Homebrew Website Club http://indiewebcamp.com/2013hwc3 Unfortunately that NYT op/ed is crap and full of misleading prose. E.g. Starbucks in Hills Plaza closed in 2008: yelp.com/biz/starbucks-san-francisco-131 Mozilla didn't move in until 2011: flickr.com/photos/10904161@N00/sets/72157627185709051 The two events were unrelated in contrast to the op/ed's implication. The question is, is this innocent mischaracterization on the part of the author, or willful deception to push a particular agenda?

    2013-350 18:52 in-reply-to: https://twitter.com/lindsey/status/412768148316643328 using BBEdit.
    Twitter post 412777355632201729In reply to: https://twitter.com/lindsey/status/412768148316643328
  23. researching cards. Why so few providers? 55 Google Now google.com/landing/now/integrations.html 38 Apple Passbook itunes.com/passbookapps

    Twitter post 412713456710979584
  24. XFN 10th Anniversary

    Ten years ago to the day, on 2003-12-15, Eric Meyer, Matthew Mullenweg and I launched XFN 1.0:

    I'm frankly quite pleased that all three of us have managed to keep those post permalinks working for 10 years, and in Matt's case, across a domain redirect as well (in stark contrast to all the sharecropped silo deaths since).

    Since then, numerous implementations and sites deployed XFN, many of which survive to this day (both aforelinked URLs are wiki pages, and thus could likely use some updates!).

    Thanks to deployment and use in WordPress, despite the decline of blogrolls, XFN remains the most used distributed (cross-site) social network "format" (as much as a handful of rel values can be called a format).

    With successes we've also seen rises and falls, such as the amazing Google Social Graph API which indexed and allowed you to quickly query XFN links across the web, which Google subsequently shut down.

    A couple of lessons I think we've learned since:

    1. Simply using rel="contact" (introduced in v1.1) turned out to be easier and used far more than all of the other granular person-to-person relationship values.
    2. The most useful XFN building block has turned out to be rel="me" (also introduced in v1.1), first for RelMeAuth, and now for the growing IndieAuth delegated single-sign-on protocol.

    Iterations and additions to XFN have been slow but steadily developed on the XFN brainstorming page on the microformats wiki. Most recently the work on fans and followers has been stable now for a couple of years, and thus being used experimentally (as XFN 1.0 started itself), awaiting more experience and implementation adoption.

    • rel="follower" - a link to someone who is a follower
    • rel="following" - a link to someone who you are following

    With the work in the IndieWebCamp community advancing steadily to include the notion of having an "Indie Reader" built into your own personal site, I expect we'll be seeing more publishing and use of follower/following in the coming year.

    These days a lot of the latest cutting edge work in designing, developing and publishing independent web sites that work directly peer-to-peer is happening in the IndieWebCamp community, so if you have some experience with XFN you'd like to share, or use-cases for how you want to use XFN on your own site, I recommend you join the #IndieWebCamp IRC channel on Freenode.

    Consider also stopping by the upcoming Homebrew Website Club meeting(s) this Wednesday at 18:30, simultaneously in San Francisco, and Portland.

    Either way, I'm still a bit amazed pieces of a simple proposal on an independent website 10 years ago are still in active use today. I look forward to hearing others' stories and experiences with XFN and how we might improve it in the next 10 years.

    Twitter post 412434794728144896
  25. 1995: every program expands to read email -@jwz 2013: mobile apps expand to send photo messages #instagram #twitter

    Twitter post 411645120443072512
  26. last Homebrew Website Club meeting of the year: Wednesday 2013-12-18 18:30 @MozSF & @MozPDX indiewebcamp.com/events/2013-12-18-homebrew-website-club

    Twitter post 411570432769523712
  27. Wonderful @KevinMarks talk @LeWeb: "The Web We Found" youtu.be/Ve48PjgDAn0 Slides: slides.kevinmarks.com/leweb.html #indieweb

    Twitter post 411323050362429440
  28. nothing like having a respected peer look quizzically upon your site in person. updated it with a bit of responsive d.

    Twitter post 411203494734204928
  29. on "independently writing and publishing on the web" by @zeldman: "This is a Website" zeldman.com/2013/12/11/this-is-a-website/ #indieweb

    Twitter post 410922360074952704
  30. My 4th #NovemberProject this morn. 2nd hardest (next to PR-day, my first time). 7.5k total run there/back at <5:30/km.

    Twitter post 410806297865748480
  31. French translation of Toward People Focused Mobile Communication Experience by @xtof_fr christopheducamp.com/w/Experience-communication-mobile-orientee-utilisateurs Thanks!

    Twitter post 409401983637127168
  32. #indieweb "backfeed" is reverse syndicating silo replies to POSSE copies. E.g. on @snarfed_org: http://snarfed.org/2013-12-06_new-app-engine-logo#comments

    Twitter post 409373720143462400
  33. Robert O'Callahan describes how #WebRTC could improve people focused mobile comms even more: robert.ocallahan.org/2013/12/webrtc-and-people-oriented.html

    Twitter post 408812393159217153
  34. Why NOT to sync iOS apps to iCloud: Ability to revert updates

    When I recently updated to Checkie for Foursquare v2.5 on my iPod 5 Touch, it started crashing on launch. Tried restarting my iPod to no avail. So I reverted it to the previous version by doing the following:

    1. delete Checkie App on my iPod (touch-hold Checkie icon, wiggly icons, touch (x) on the Checkie icon, confirm delete dialog box)
    2. connect iPod to MacBook Air
    3. open iTunes
    4. select iPod in left column
    5. choose the "Apps" tab
    6. scroll to "Checkie for Foursquare" - note it is [ ] unchecked
    7. check [x] Checkie for Foursquare
    8. click "Apply" in the lower right corner of the iTunes window

    Presto, the previous version of the app from the last time I sync'd/backed up to iTunes is back on my iPod Touch.

    If I had been auto-syncing my apps with iCloud, then all my devices would have updated to the latest version of Checkie and the previous version would either be lost - or a huge hassle to retrieve from a previous backup (if iTunes even kept more than one backup of it).

    If you're syncing directly with iTunes on your laptop, you can revert to the previous version there. You may even be able to revert to even older versions, see this blog post with lots of screenshots for details.

    iOS native app developers seem to screw up apps in plenty of ways frequently enough that it's perfectly reasonable to take matters into your own hands as the user and revert such apps when developers screw up.

    How do native app developers screw up? Let me count the ways:

    1. update crashes on launch
    2. removal of a feature essential to usability or you really liked
    3. making an existing feature take more steps
    4. addition of visual noise (design cheese, 1+1=3, chartjunk etc.)
    5. less efficient use of screen space

    None of these are theoretical. All of these have happened. The first with Checkie, and unfortunately all of 2-5 have happened with the Foursquare app.

    Everybody makes mistakes of course. We're not trying to build the perfect system.

    When software screws up, we should empower users with the agency to work around it. #fightfortheusers

    Previously

    Twitter post 408796800175587328
  35. web++: iOS home screen web icons auto-update when you tap them. no need to go an "App Store" app & explicitly update.

    Twitter post 408745059480535040
  36. considering new mobile home page header icons/folders/search: (face) [Contact] [Create & Meet] [Elsewhere] [ ] (Search)

    Twitter post 408729888292896768
  37. Toward A People Focused Mobile Communication Experience

    Smart and dumber

    Remember when phones were dumb and people were smart?

    Focus-enhancing note: all in-line hyperlink citations[number] are listed in the References footer of this post. You may procrastinate clicking them until the end for a more in-flow reading experience.

    While smart phones become smarter, their push notification interruptions fuel a mobile dopamine[1] addiction[2] that's making us dumber[3].

    App focus and notification distractions

    These devices and their app store interfaces have also trained us to install, organize, and curate ever more mobile "apps" on our home screens. Thanks to designers' obsession over attention, retention, returning eye-balls, and need to compete with all those other apps, they ever more aggressively demanding our attention.

    Their push notifications insist that they're more important than anything else we could possibly be doing. We miss things right in front of us, or we overreact, overmute, and miss important things. Not things. People.

    Virtual notifications distract us from real people.

    This is a broader systemic design problem beyond smart phones: Hospitals look to reduce danger of 'alarm fatigue'[4].

    Take a moment to recover your focus after skimming or bookmarking those links.

    App centric interfaces cause dopamine fueled distraction

    Right now we have screenfuls of apps to communicate and interact with people online. Screenfuls like:

    screenshot of an iPod touch home screen with two rows of communication application icons

    The problems with this current state of the mobile interface:

    1. Person A wants to communicate with person B
    2. Person A has to pick (absent B's context!) a communication app
    3. Person A launches the specific app
    4. The app immediately shows Person A:
      • Missed calls from others!
      • Unread count of new messages!
      • Actual new messages from others!

    Every one of those exclamation points (!) is a dopamine squirt (you probably got little one even just reading about it happening).

    Consequence: Person A is distracted by the missed calls, unread counts, new messages beckoning their attention - ooh someone reached out to me! I better check if that's important before I communicate with, who was it I was going to communicate with?

    Worse yet: the dopamine reinforces this distraction based behavior, turning it into a habit of reacting and losing our context, rather than acting and keeping our flow.

    What if we focused on people first?

    What if our mobile devices focused on people first and apps second?

    Remember when they used to? When you would look up a person first, and decided to txt, call, or email them second?

    What if we put people first in our mobile interfaces, before choosing an app to interact?

    Could we grow a culture of adding icons of each other to our home screens instead of application intermediaries?

    What if we organized screenfuls of icons of people that matter to us rather than apps that distract us?

    If we could organize screenfuls of icons of people, what would it look like?

    screenshot of an iPod touch home screen with two rows of people icons

    An interface with a bunch of faces[5] certainly feels a lot more human.

    How do we organize screenfuls of icons of people?

    The above is an actual screenshot. The answer, today, is to go to their personal sites and tap action icon then or bookmark then "Add to Home Screen".

    Yes, this is why you should make sure your personal site has an icon of you that people can add to their home screen.

    Why would someone want an icon of you on their home screen?

    In short, human-focused rather than app-focused communication.

    • You want to catch up on someone's site (recent writings, activities) just before meeting up with them in person.
    • You miss someone and are wondering what they're up to.
    • Communicating with a person - person first, method second:
      • if they happen to have skype: or IM: or AIM: links on their home page, then their home page becomes the way you can contact them.
      • Your home page becomes your communication protocol.
    • callee-preferred comm apps icon UI
      • What if you provided icons for each of those yourself as if they were apps, e.g. in a pane on your home page?
      • Like a Contact folder that when tapped would open up a row of icons of the ways you could be contacted, maybe even in your order of preference!

    Would it be too disruptive to the mobile experience and ecosystem to make focus on people, rather than apps?

    User experience flow

    How would a person use this?

    • Go to someone's domain, e.g. tap icon from home screen
    • See their personal home page which presents methods of contact: Each person presents their preferred method(s) of contact on their own home page in the order that they prefer to be contacted.
    • Go across and down that list until you see something you can (and want) to use to communicate with them, and click it / tap it.
    • The browser routes you to either a website or "native" app to open the communication channel.

    Thus after tapping the person you want to communicate with, just oneone tap to open a new IM, email, or call to them.

    Note that there was no distraction by unread IM/email counts beckoning your attention away from your desire to communicate with a specific person.

    UX flow with identification

    By identifying yourself to the personal site, the site can provide progressive enhancement of communication options:

    • Go to someone's domain, e.g. tap icon from home screen
    • Identify yourself to the site (e.g. with IndieAuth, or perhaps your device/browser automatically detects IndieAuth and identifies you if you've been to the site before)
    • Now their personal site provides more (or possibly fewer!) communication options based on who you are.
    • Again pick the first method of communication you see that you want to use
    • You're again routed to either a website or "native" app to start communicating.

    Thus again after going to someone's personal site, with one tap you can SMS Facetime or Skype as well.

    Context Enabled Presence

    Someone's personal site could even do presence detection (some personal sites already show live IM presence status), and show/hide communication options in accordance with their apparent availability. E.g. some combination based on determining if they are:

    • Asleep?
    • In an area with poor network reception?
    • In a meeting (or noisy location)?
    • Or otherwise pre-occupied?
    • Running or otherwise in motion

    Then their site could enable/disable various things:

    • realtime interactive audio/video (AKA "phone" calls)
    • IM busy/idle/away/active status

    User-friendly privacy: such context-based selection should be seamless enough and yet coarse enough that you cannot necessarily determine from the (un)availability of various methods of communication, what their actual context (asleep, busy, in motion etc.) is.

    Solving the "Can we talk" problem

    Perhaps this is the solution to the "Can we talk?"[9] problem.

    Nevermind all this "what should I ..."

    Domains (or proxies thereof) work as identity.

    Just share domain names when you meet, add their icon to your home screen and you're done.

    Or even share Twitter handles (purely as a quicker-easier-to-say discovery mechanism for domain names), add their icon and you're done.

    The rest is automatically handled when you tap their icon.

    How do you make this work on your site?

    How do you make this work for when someone taps an icon to your site?

    By adding this to your personal site:

    • aim:, mailto:, etc. hyperlinks
    • platform familiar icons and grid layout (combining elements of adaptive and responsive design)
    • IndieAuth support
    • Conditionally show more (or fewer) hyperlinks based on whitelists, i.e. check their identity against a whitelist or two and then provide e.g. sms:, facetime:, skype: (callto:?) links.

    Optionally have your site passively (or in response) check your meeting schedule, your Foursquare location, perhaps even native app specific presence (e.g. IM), and cache/show/hide links accordingly.

    Who has done this?

    Nobody so far - this is a user experience brainstorm.

    Can we do this?

    Yes. Some communication protocols are supported in today's mobile operating systems / browsers:

    iOS Mobile Safari[10][11]
    facetime, mailto, skype, sms, tel
    Android[12]
    tel
    Firefox OS Browser[13]
    mailto, sms, tel

    I couldn't easily find specific references for protocol support in Android Chrome and Firefox for Android browsers. My guess is that the various mobile browsers likely support more communication protocols than the above (and the reference documents) claim. It's probably worth some testing to expand the above lists.

    Even maps.apple.com/?q= links are supported on iOS[10] (and "geo:" links on Android[12]) as a way to launch the native maps app - perhaps a site owner could provide button to show a subset of identified viewers exactly (or roughly) where they were if and when they chose to.

    What next?

    Next, it's time to try prototyping this on our personal sites and mobile devices to see if we can make it work and how does the interaction feel.

    If this kind of out-of-the-app-box thinking and personal site focused hackery appeals to you, try it out yourself, and come on by tonight's Homebrew Website Club meeting and show what you got working!

    Previously

    Previous posts and notes related to focus (distraction) and specifically to human interface design and processes to improve (reduce) respectively.

    References

    In order of appearance:

    1. Psychology Today: Why We're All Addicted to Texts, Twitter and Google
    2. Computerworld: Nerd, interrupted: Inside a smartphone addiction treatment center
    3. Mashable: How is Facebook Addiction Affecting Our Minds?
    4. SFGate: Hospitals look to reduce danger of 'alarm fatigue'
    5. IndieWebCamp: icon FAQ: Should you use a photo of your face
    6. Event Homebrew Website Club Meeting
    7. WIRED: Can We Talk?
    8. accessed: Apple: Apple URL Scheme Reference
    9. Max Firtman: How to create click-to-call links for mobile browsers
    10. accessed: Google: Intents List: Invoking Google Applications on Android Devices
    11. accessed: Mozilla: Bug 805282 - MailtoProtocolHandler.js, SmsProtocolHandler.js and TelProtocolHandler.js in package-manifest.in

    Additional Reading

    Twitter post 408419441475854336
  38. @jlsuttles, @aaronpk updated the @IndieWebCamp site with an icon for any page, including indiewebcamp.com/icon :)

    2013-337 11:26 in-reply-to: https://twitter.com/jlsuttles/status/407549275111817217 using BBEdit.
    Twitter post 407954106834518016In reply to: https://twitter.com/jlsuttles/status/407549275111817217
  39. next Homebrew Website Club mtg Wed 18:30 @MozSF & @EsriPDX! indiewebcamp.com/events/2013-12-04-homebrew-website-club Previously: tantek.com/2013/332/b1/homebrew-website-club-newsletter

    Twitter post 407596712937918464
  40. @getify *That*, Kyle, is the right question. Communication. Human-centric over app-centric. More in a blog post.

    2013-336 4:44 in-reply-to: https://twitter.com/getify/status/407486087657816066 using BBEdit.
    Twitter post 407490524145528834In reply to: https://twitter.com/getify/status/407486087657816066
  41. Got a personal site? Make sure it has an icon people can add to their home screen. How to & why indiewebcamp.com/icon

    Twitter post 407480720412930048
  42. at parents', watching Spike #ThankstoStarWars marathon, noticed @bruces posted #indieweb principles on @wired: wired.com/beyond_the_beyond/2013/12/indieweb-principles/ ht: waterpigs.co.uk

    Twitter post 407308095724220417
  43. Thankful for health, family, and friends this Thanksgiving.

    Twitter post 406296911592042496
  44. Homebrew Website Club Newsletter Volume 1 Issue 1

    Edited by Tantek Çelik,

    Are you building your own website? Indie reader? Personal publishing web app? Or some other digital magic-cloud proxy?

    If so, you might like to come to a gathering of people with likeminded interests. Exchange information, swap ideas, talk shop, help work on a project, whatever...

    This announcement, accompanying blog post, and event note brought nine of us together on short notice in the 7th floor main meeting area at Mozilla's San Francisco office.

    Homebrew Website Club members discuss what they want on their own websites

    After brief introductions we went around the room in a "broadcast" phase. Everyone introduced themselves and what personal website successes and challenges they were experiencing. All already had a personal website of some sort, yet also expressed a yearning for something more. Opinions and passion were generally dominated by user-centered perspectives, about giving users (especially themselves) control over their own content/narrative, and focusing on user experience first.

    Four in the group actively post content on their own site (typically in a "blog" format), and three more on secondary domains, Blogspot, or Tumblr. Two in the group already had personal website tweeting up and running using the POSSE method (Publish on your Own Site, Syndicate Elsewhere). And one had an ownCloud setup working with an SSL certificate.

    Homebrew Website Club members take a moment to smile for the camera.

    We got into a short dispute over whether to focus on public or private content first until it was pointed out that public first is simpler and can inform private content design. There was a PESOS vs. POSSE debate, especially for quantified self / fitness data. Many in the group conveyed a general lamenting of the lack of support for Activity Streams in services and devices, until one participant noted he'd built a proxy that turns interactions from Facebook, Twitter, G+ (e.g. comments, likes) into Activity Streams.

    Frustrations were shared about services that show promise yet have odd awkwardnesses like Path and Mint. On the open source side, concerns were raised about monoculture and especially the open source community default culture of assuming one codebase to rule them all.

    There was much praise for the ease of use, beauty, and customization of Tumblr, especially as a good bar to compare efforts to build personal websites and provide user interfaces for future indieweb onboarding experienes. Despite their beauty or convenience, there was a sense that Tumblr, Blogger, and other content hosting silos will all rot.

    We split up into small groups as part of the "peer-to-peer" part of the meeting.

    Kevin Marks did an excellent job of live tweeting a lot of the conversation and posted a summary on his site while at the meeting!

    At 20:00 we closed the meeting and announced that the next meeting would be in two weeks:

    NEXT MEETING

    WEDNESDAY, , at Mozilla's First Floor Common Area, Embarcadero & Harrison, San Francisco, CA.

    Are you building your own website? Indie reader? Personal publishing web app? Or some other digital magic-cloud proxy? If so, come on by and join a gathering of people with likeminded interests. Bring your friends that want to start a personal web site. Exchange information, swap ideas, talk shop, help work on a project, whatever...

    This newsletter is placed into the public domain with a CC0 dedication.

    (with apologies to Homebrew Computer Club Newsletter number one )

    Twitter post 406195845303128064
  45. nephew1 did #turkeytrot 5k in 25:15, 2min faster than last year! My iPod showed 29min but @RaceWireLive reported 32:33 for me (~3 minute discrepancy is quite a bit). Only explanation I have is that I crossed the starting line late - maybe even last. I'd spent time warming up before the start waiting for the tail end of the walkers to finish crossing, so I could have easily started 3 minutes after the gun start time. Perhaps the starting line didn't read my bib# chip as I crossed it. Here's my rough timeline of timing related events: * 8:03am started warm-up jog on Nike+ Running iOS App (time recorded on Path cross-post) * noticed race started, watched big crowd slowly crossing start line * +6:27s: 1km completed on Nike+, ran to starting line * crossed starting line (a few seconds later) * 8:10am checked clock on iPod Touch just after crossing start line to double-check the time. * ... many minutes later ... * crossed finish line in a sprint * 8:39am checked clock on iPod just after sprinting across finish line. * slowed to run/jog/walk (5-10 seconds) * +36:06s total elapsed time on Nike+ (paused). * +29:39 thus time elapsed since 1km pre-start-line mark of 6:27. * = ~29:30 estimated actual 5k completion time (given extra seconds before/after start/finish) I've submitted a request to Racewire.com to ask them to look into it. But now I'm looking for another 5k to run in the near future to get an official race PR under 30 min. Any fun 5k races coming up in SF in December?

    Twitter post 406163587808645122
  46. @JayGreasley thanks for the kind words! Thankful to work with kind-hearted smart folks @adactio @aral et al. #indieweb

    2013-332 12:07 in-reply-to: https://twitter.com/JayGreasley/status/406135848917168128 using BBEdit.
    Twitter post 406152415004868609In reply to: https://twitter.com/JayGreasley/status/406135848917168128
  47. early to bed to run #turkeytrot 5k tomorrow with two nephews and my dad. Good luck fellow #runners especially #NPSF!

    Twitter post 405939326451978240
  48. How To Lose Your Data In Apple iOS Notes In Five Easy Steps

    Or, why is it so hard to get syncing of simple text notes right?

    1. Create a note in Notes on your iOS device (e.g. iPod) with some text like "Note to self: do not save anything valuable in Notes".
    2. Connect it to your Mac and (Sync) with iTunes, disconnect
    3. Open Mail.app and delete the note on your laptop
    4. Add something to the note on your iOS device, e.g. "Note 2: Well maybe I'll try adding something anyway."
    5. Reconnect them and (Sync) with iTunes again, disconnect

    At this point you've lost the entire note on both devices, including additions you made to it on your iOS device after you deleted the copy of it on your laptop.

    If you're doubly unfortunate, iTunes has also thrown away the previous backup for your iOS device, keeping only the most recent "backup" for your iOS device, with, you guessed it, the deletion of that note.

    The very act of attempting to backup your iOS device by explicitly syncing it with iTunes, was responsible for losing your data.

    iTunes treated the copy of the note on your laptop (or rather the tombstone left in place after you deleted it) as more authoritative than the note on your iOS device - ignoring the fact that you explicitly added to the note on your iOS device after (time-wise) you deleted the copy of it in Mail.app.

    iTunes treated the data you added as less important than your older act of deletion and threw away your data.

    What should it have done instead? How should it have resolved a seeming conflict between a deletion and an addition, both of which happened after the most recent sync?

    Principles

    There are a couple of user interface principles to consider here. Quoting from Apple's own OSX Human Interface Guidelines:

    Forgiveness

    People need to feel that they can try things without damaging the system or jeopardizing their data. Create safety nets, such as the Undo and Revert to Saved commands, so that people will feel comfortable learning and using your product.

    Warn users when they initiate a task that will cause irreversible loss of data.

    Using iTunes sync jeopardized data. It removed the safety net of the previous iOS device backup. There is no command to Undo a sync or Revert to notes I had before. iTunes did not warn before it itself caused an irreversible loss of data.

    Next principle, same source:

    User Control

    The key is to provide users with the capabilities they need while helping them avoid dangerous, irreversible actions. For example, in situations where the user might destroy data accidentally, you should always provide a warning, but allow the user to proceed if they choose.

    iTunes provided no warning before an irreversible deletion of the note on the iOS device which yes, did destroy data.

    Instead of Deleting

    There are several approaches that Apple could have taken, any one of these would have been better than the irrecoverable deletion that occurred.

    • Treat the later adding to the note as the user intending to never have deleted the note in the first place and recreate it on the laptop.
    • If a note is edited in one place and deleted in another (in any time order), treat the edit as more important than the deletion.
    • Keep a browsable backup of any deleted notes
    • Provide the ability to undo a sync
    • Provide the ability to recover deleted notes, on either device

    Why not iOS7 and MacOS Mavericks

    Perhaps you're wondering what versions of operating systems (and iTunes) were used: iOS 6, MacOS 10.7, iTunes 10.

    Why not upgrade to iOS 7 and MacOS Mavericks (and thus iTunes 11) ?

    Because then you lose the ability to sync directly between your devices. As noted previously:

    [...] If you use OS X Mavericks v.10.9 or later, your contacts, calendars, and other info are updated on your computers and iOS devices via iCloud. [...]

    If Apple can't get syncing right between just two devices/destinations:

    iOS device <---> Mac laptop

    Why should anyone have any expectation that they can get it right among three?

    iOS device <---> iCloud <---> Mac laptop

    Towards Indie Note Editing And Sync

    This episode has illustrated that we cannot trust even Apple to either follow its own user interface guidelines, or implement those guidelines in its own software, nor can we trust Apple's syncing solutions to not lose our data.

    I am now investigating alternatives (preferably open source) for:

    • editing simple text notes on a mobile (e.g. iOS) device
    • syncing them with a mac laptop
    • possibly editing them in both places
    • syncing them again without loss of data

    Preferably without having to use "the cloud" (otherwise known as the internet or the web). That being said, perhaps an open source indie web sync solution could be another path forward. If I could sync any number of my own devices either with each other or directly with my own personal web site, that might work too.

    Suggestions welcome. Some discussion already documented on indiewebcamp.com/sync.

    Twitter post 405752471949410305
  49. yesterday: * did #Lindy in the Park routine ~85% with fellow first timer * learned left hand of youtu.be/U6RmDqqPhug

    Twitter post 405178601420914688
  50. @LauraCreekmore @brad_frost Expensify is good, needs more "Undo". We use it @Mozilla. Is Harvest for independents?

    2013-328 9:16 in-reply-to: https://twitter.com/LauraCreekmore/status/404411595994198016 using BBEdit.
    Twitter post 404659930646708225In reply to: https://twitter.com/LauraCreekmore/status/404411595994198016
  51. just finished catching up with all 2013 expense report filings. #yearend #littlethings

    Twitter post 404385107546755072
  52. talking HTML templates in #indiewebcamp, @KevinMarks asked for datetime, so I made a formatting format (yo dawg...) tl;dr: YYYY YY MM M DDD DD D MONTH MNTH DAY DY 24HH 24H HH H MM SS AM PM TZ TZH TZO Not obvious what those expand to? For an example date and time of: 2001-02-03 4:05:06pm PST YYYY = 2001 YY = 01 MM = 02 M = 2 DDD = 034 DD = 03 D = 3 MONTH = January MNTH = Jan DAY = Saturday DY = Sat 24HH = 16 24H = 16 (no leading zero, e.g. at midnight = 0) HH = 04 H = 4 MM = 05 SS = 06 AM|PM = pm (both AM and PM so you can use either without guessing) TZ = PST TZH = -08:00 TZO = -0800 Thus the example date and time would have been output formatted with: YYYY-MM-DD H:MM:SSAM TZ Did I miss anything that's published on real world indieweb sites? Obligatory XKCD (xkcd.com/927) imgs.xkcd.com/comics/standards.png Now to implement it in @cassisjs.

    Twitter post 403703368730025985
  53. design Qs when coding a new #indieweb post type: * how should it look as a page? * a feed entry? * in a list of posts?

    Twitter post 403310204894199809
  54. Event note: * Homebrew Website Club * 2013-11-20 18:30-19:30 * @MozSF 7th fl RSVP: @-reply or webmention more: tantek.com/2013/322/b1/homebrew-computer-club-reunion-inspiration

    Twitter post 403064607373537280
  55. Radioactive shard found on Treasure Island: cironline.org/reports/radioactive-poisoning-may-still-be-risk-treasure-island-memo-says-5549 BYO Geiger counter to next music fest. Map: cironline.org/sites/default/files/styles/inline-large/public/treasure_island.png Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA. Quite a nice map too - great way for an article to illustrate a location and an item.

    Twitter post 402989355691945984
  56. And now to see about implementing #indieweb event posts in @Falcon.

    Twitter post 402965038136573952
  57. venue confirmed for 2013-11-20 18:30 Homebrew Website Club tantek.com/2013/322/b1/homebrew-computer-club-reunion-inspiration @MozSF 7th fl wiki.mozilla.org/SF

    Twitter post 402963725499789312
  58. What if I told you the rain in San Francisco today feels amazing?

    Twitter post 402921731733860353
  59. The Homebrew Computer Club 38th Reunion: Inspiration To Try A Variant

    I attended the Homebrew Computer Club 38th Reunion and got to hear Steve Wozniak give an impromptu speech from the heart. It was both inspiring and reminded me of many of the reasons I developed a passion for computers in the first place.

    In reflecting on my notes from his speech, I realized that everything that Woz said about how the Homebrew Computer Club from the start about your "own machine" or your "own computer" applies today nearly 40 years later to your own online identity and your own website.

    However, like the early 1970s, the dominant computing paradigm is once again stuck in a timesharing mindset, updated with new terms and prettier interfaces.

    You may "own" your own handheld machine and computer, but your software and data are more and more updated, controlled, and stored in one or more proprietary centralized "clouds" (whether Google's Gmail/Calendar/Documents, or Apple's iCloud, or Facebook, or others vying to replace them).

    You used to be able to buy two Apple devices, e.g. an iPad/iPod/iPhone and a Mac, and sync them directly with each other. However, as of the latest version of Apple's operating system, ironically named "Mavericks", you can no longer do so, and must sync them both with iCloud, which they treat as the "true" copy of your data:

    [...] If you use OS X Mavericks v.10.9 or later, your contacts, calendars, and other info are updated on your computers and iOS devices via iCloud. [...]

    Stuck somewhere without an internet connection, or a connection that is slow or unreliable?

    Too bad, you can no longer sync between the devices that you hold in your hand, despite physically connecting them to each other with a cable. You are blocked from syncing the data between the devices in your very hands.

    Last week Woz said:

    We all wanted to be close to our own machine.

    If our machines are where we store (and share) our data, we are getting further from our machines, not closer.

    The timesharing systems of the 1970s were not disrupted overnight. Nor were they disrupted by large corporations no matter how innovative they thought they were. Nor were they disrupted by first designing for every user.

    They were disrupted by the emergence of innovations from a small group of dedicated enthusiasts who were first looking to empower each other, and second empower others. Woz continued:

    We wanted to own our own computer.

    You were going to go into your company, and take your own machine.

    Everybody was going to be empowered and a master of their own life.

    So what was it about the Homebrew Computer Club that made so much possible? Was it the timing - ? The Silicon Valley location(s)? The people? The frequency of meetings? The structure - how Lee Felsenstein ran the meetings?

    Homebrew member Chris Espinosa with an original club newsletter. At the 38th reunion I had the chance to catch up with Chris Espinosa, a frequent attendee of Homebrew Computer Club meetings, and asked him about some of the details.

    What time was the meeting?
    Right after work [7pm according to first issue of HCC newsletter]
    How often did they meet?
    Every two weeks. Often enough for a growing sense of continuity, yet infrequent enough to encourage going rather than skipping to go "next week".
    What was the general structure?
    Lee would start the meeting with a microphone, and then given the microphone to anyone who raised their hand with a point to make, or a question to ask. After that there was the "random access" period where people would break off and have smaller discussions, and eventually leave and go get something to eat, like at The Oasis in Palo Alto, or Bob's Big Boy in Cupertino (especially if you were under 21 [which Chris was at the time]).

    For a few years now we've had another growing community, focused on owning your own online identity and data. Primarily online with a wiki and IRC channel, we've also had a strong in-person component, meeting annually in various cities on weekends, and sometimes for evening dinners.

    Hearing the speeches at the Homebrew reunion and speaking with Chris made me wonder: what if we cloned some aspects of the Homebrew Computer Club and created an equivalent for personal websites?

    • We want to own our own web identity and data.
    • We all want to be close to our machines, content, identities.
    • Imagine going into a company, not only with your own machine(s), but your own online identity, document storage, etc.
    • We want to make tools that make us and eventually everyone a master of their own life.

    I mentioned these parallels to Ben Werdmuller and he said it made complete sense to him as well.

    So we're doing this. Started with inspiration, re-using much of the HCC structure, yet without asking permission:

    What
    The Homebrew Website Club
    Who

    Are you building your own website? Indie reader? Personal publishing web app? Or some other digital magic-cloud proxy?

    If so, you might like to come to a gathering of people with likeminded interests. Exchange information, swap ideas, talk shop, help work on a project, whatever... (copied and modified from issue 1).

    When
    - every other Wednesday night, starting
    Where
    TBD in San Francisco, easy access from transit (BART/MUNI).

    I really liked the "mapping" and "random access" meeting phases that Lee Felsenstein came up with. Perhaps we'll adopt similar phases like 30 minutes of "broadcasting" (for anyone to show what they've got working, or ask an open question for help with something) and 30 minutes of "peer to peer".

    I also remember someone at the reunion relating how when someone with the microphone went too long, Lee would cut them off and pass the mic to another person. We'll have to see how much such explicit "blowhard" management is needed. Maybe we just timebox "broadcasting" to 30 min total, and 2 minutes per person? Or maybe we'll figure it out as we go.

    Chris Espinosa's description about how the Homebrew meetings were "right after work" stuck with me. This meant the meetings were something you could go to before other plans, leaving the rest of the evening free to fork off in smaller groups for food, or seeing other friends, or going to home to spend time with the family. Such timing provides greater flexibility for a broader set of people who may have other evening obligations. Ben and I have decided to try starting at 18:30 and see how that goes. We figure you should all be leaving work by 18:00 anyway (regardless of what you do), leaving 30 minutes for transit.

    Once we've confirmed a venue, I'll update this post and post an update. Until then, put it in your calendar:

    • 18:30 on Wednesday 2013-11-20 in SF: Homebrew Website Club

    Be seeing you.

    Thanks to Joël Franusic and Ben Werdmuller for reviewing drafts of this post.

    Twitter post 402671636937461760
  60. @veganstraightedge disagree. Better to post quick note thoughts sooner without expectations of an article (title/name, intro, narrative, closing, etc.) which can come later upon further reflection on the subject.

    2013-322 18:14 in-reply-to: https://twitter.com/veganstraightedge/status/401557752213819392 using BBEdit.
    Twitter post 402620983766691840In reply to: https://twitter.com/veganstraightedge/status/401557752213819392
  61. Discomfort with a culture of performing reinforced by Facebook, Twitter, etc. thenewinquiry.com/essays/google-alert-for-the-soul/ #self #identity Recommended soundtrack while reading the article: Clubbed to Death by Rob Dougan from the Matrix Soundtrack http://youtu.be/_YCGtT_FRYg My one biggest problem with the article is the reductive use of the term "data" in the phrase "data self". It's imprecise, inaccurate, and does a disservice to the underlying concept that the author is describing. Data lacks meaning and the meaning the concept expresses. A better naming & framing would be: the "cyber self". Cyber, as in virtual, online, and today, on the web. And cyber as in cybernetics (enwp.org/Cybernetics). A lot more in this article. Will have to re-read it after s/data self/cyber self and see if I can blog something more actionable. For now I'm left with questions. You found this likely through one of the very systems that is being questioned. What is to be done? Can we simply unplug? Or are we, and those we love, "so inured, so hopelessly dependent on the system"[1] that we are trapped? Can we use these systems to fight the dopamine culture of micro-attention seeking they've been designed to promote and reinforce? Or is there more hope in building independent alternatives and using the silos merely as distribution mechanisms for critiques, planting seeds of doubt inside their walled gardens? [1] http://www.imdb.com/title/tt0133093/quotes?item=qt0324247

    Twitter post 401529001350803456
  62. got @Falcon future posting working: * write post * set dt-published to the future * shows up on home page at that time

    Twitter post 401269589923094528
  63. Congrats! @estellevw: Mobile HTML5 shop.oreilly.com/product/0636920021711.do @simplebits: Sass For Web Designers simplebits.com/notebook/2013/11/13/sass-book/

    Twitter post 400793149792342016
  64. Awake and getting ready for my second #NovemberProject.

    Twitter post 400624427576352768
  65. Twitter post 400158959606456320
  66. At Homebrew Computer Club reunion, watching @SteveWoz speak: "Every other Wednesday night I'd go [to the Homebrew Computer Club meeting] and listen people who said that computers would change our lives. [...] We were going to make a tool that would make everyone a master. We all wanted to be close to our own machine. We wanted to own our own computer. You were going to go into your company, and take your own machine. [...] Everybody was going to be empowered and a master of their own life."

    Twitter post 400120999544643584
  67. It's been too long since I've ran to the beach. Going running. P.S. Today is day 314 of the year. Happy ordinal π day.

    Twitter post 399686884257169409
  68. Is minutes til midnight too late to take a quick nap before staying up even later? Let's find out...

    Twitter post 399444462319190016
  69. @aaronpk I think the fox song would hurt your voice! (also demoing #indieweb comments)

    2013-313 20:52 in-reply-to: http://aaronparecki.com/notes/2013/11/09/2/karaoke https://twitter.com/aaronpk/status/399355515550957568 using BBEdit.
    Twitter post 399399161642377216In reply to: https://twitter.com/aaronpk/status/399355515550957568
  70. @KevinMarks if Medium is POSSE, where's the original? #indieweb means you're posting on a personal domain. Owning (much less partially so) a silo domain does not make it indieweb.

    2013-313 16:10 in-reply-to: https://twitter.com/kevinmarks/status/399327033622147072 using BBEdit.
    Twitter post 399328232560132096In reply to: https://twitter.com/kevinmarks/status/399327033622147072
  71. used Google Hangouts on iPod+wifi to call * eye doctor for annual appointment * @tmobile to refill mifi #iamnotanumber

    Twitter post 399318708658925568
  72. @TMobileHelp sites down: my.t-mobile.com mim.t-mobile.com tmobile.ecustomersupport.com How do I refill a mifi?

    Twitter post 399137781764878337
  73. went swing dancing @920special last night for the first time in months. been too long. happy place re-found. #dance

    Twitter post 398925802240090112
  74. @benwerd congratulations on launching permashortcitation support in idno / werd.io! #indieweb #POSSE

    2013-312 9:07 in-reply-to: https://twitter.com/benwerd/status/398856667242053634 using BBEdit.
    Twitter post 398859433125896192In reply to: https://twitter.com/benwerd/status/398856667242053634
  75. I don't always link to HuffPo but when I do huffingtonpost.com/wayne-self/young-singles-seth-adam-smiths-marriage-advice-isnt-for-you_b_4219365.html it dissects a pollyanna post sethadamsmith.com/2013/11/02/marriage-isnt-for-you/

    Twitter post 398711218732814336
  76. @kevinmarks @nrrrdcore it is! Thanks for that breath of fresh air at #Roadmap2013; join us on Freenode: #indiewebcamp

    2013-310 19:45 in-reply-to: https://twitter.com/kevinmarks/status/398247989854367744 using BBEdit.
    Twitter post 398295197601509376In reply to: https://twitter.com/kevinmarks/status/398247989854367744
  77. @mathpunk we often use h-cite to cite others' works e.g. in reply-contexts, federated comments: indiewebcamp.com/h-cite

    2013-310 15:09 in-reply-to: https://twitter.com/mathpunk/status/397960088947675136 using BBEdit.
    Twitter post 398225772554780672In reply to: https://twitter.com/mathpunk/status/397960088947675136
  78. @lehawes Exactly! indiewebcamp.com/design#UX_Before_Infrastructure Sounds like you had a great talk at #defragcon!

    2013-309 16:08 in-reply-to: https://twitter.com/lehawes/status/397791428568309760 using BBEdit.
    Twitter post 397878133409730560In reply to: https://twitter.com/lehawes/status/397791428568309760
  79. healthy quinoa+salad = 2 lunches 1 @DanGillmor re: #indieweb tantek.com/2013/231/b1/questions-twitter-related-headlines-feature 2 catch up w @christine & @mathias

    Twitter post 397853564561027073
  80. #Roadmap2013 earlier @espiekermann mentioned design process & focus for "Fira" for #FirefoxOS: spiekermann.com/en/fira-for-firefox-os-2/

    Twitter post 397824364256976896
  81. #Roadmap2013: sitting next to and watching @Mike_FTW cringe & gasp at learning about Tinder and CEO summary of dating.

    Twitter post 397815676104376320
  82. #Roadmap2013 @Jack: "...principle at the company Show don't tell." Sounds familiar https://twitter.com/giyom/status/393169720729296898 #indieweb

    Twitter post 397791871050973184
  83. @graemethickins #defragcon IndieWeb movement started 2010 post #FSW2010 First IndieWebCamp 2011 indiewebcamp.com/timeline#2010

    2013-309 10:14 in-reply-to: https://twitter.com/graemethickins/status/397786659032293376 using BBEdit.
    Twitter post 397789114671849472In reply to: https://twitter.com/graemethickins/status/397786659032293376
  84. My notes often push all blog posts off my home page. So I built a sidebar box of three Recent Articles. #indiewebcamp

    Twitter post 397563410030002176
  85. nice #IndieWebCamp Hollywood @Farmhouse. discussed: * composite feeds * pinned posts * travel data and more: indiewebcamp.com/2013/Hollywood

    Twitter post 397270978562379776
  86. it was a good day to drive south with the parents. good sharing about those we lost; mentioned Douglas Engelbart too.

    2013-307 0:19 in-reply-to: http://tantek.com/2013/307/t1/lost-this-year-diadelosmuertos https://twitter.com/t/status/396894730002661376 using BBEdit.
    Twitter post 396899419121258496In reply to: https://twitter.com/t/status/396894730002661376
  87. family & friends I lost this year: x uncle (mom side) x uncle (dad side) x #aaronsw x @jeffreymcmanus #diadelosmuertos

    Twitter post 396894730002661376
  88. evening run thoughts on default behaviors for good: 1. be kind to yourself 2. be kind to others 3. live deliberately

    Twitter post 396876130919395328
  89. Taking days to think about m.theweek.com/article.php?id=99512 Know a friend on either side? Just be supportive and there for them.

    Twitter post 396731869418770432
  90. Welcome to the 6th bim of the year. http://newcal.org/#bimdefinition 60 days left in 2013 (today included), make them count.

    Twitter post 396674268798681089