-Поиск по дневнику

Поиск сообщений в rss_planet_mozilla

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 19.06.2007
Записей:
Комментариев:
Написано: 7

Planet Mozilla





Planet Mozilla - https://planet.mozilla.org/


Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.

Исходная информация - http://planet.mozilla.org/.
Данный дневник сформирован из открытого RSS-источника по адресу http://planet.mozilla.org/rss20.xml, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

[Обновить трансляцию]

Air Mozilla: Reps weekly

Четверг, 22 Января 2015 г. 19:00 + в цитатник

Schalk Neethling: Resolving Error: pg_config executable not found on Mac

Четверг, 22 Января 2015 г. 18:10 + в цитатник
Every once in a while when I have to get an old project up and running or simply house cleaning a current project, I run into this error, and each time it trips me up, and I spend a ton of time yak shaving. Well, today was the last time. To future me, and whomever … Continue reading Resolving Error: pg_config executable not found on Mac

http://schalk-neethling.co.za/2015/01/resolving-error-pg_config-executable-not-found-on-mac/


Mozilla Release Management Team: Firefox 36 beta1 to beta2

Четверг, 22 Января 2015 г. 15:54 + в цитатник

Beta 2 is a busy beta release. First, because of an holiday in the US, the go to build has been delayed by a day (Tuesday instead of Monday). Second, a lot of fixes for MSE landed.

  • 129 changesets
  • 271 files changed
  • 5021 insertions
  • 2064 deletions

ExtensionOccurrences
cpp80
h51
js37
ini21
xml15
html8
java6
list4
css4
jsm3
xul2
sjs2
nsi2
xhtml1
webidl1
nsh1
jsx1
json1
in1
cc1

ModuleOccurrences
dom105
browser36
toolkit19
mobile16
media13
layout12
netwerk11
testing10
security8
js5
uriloader2
gfx2
xpcom1
image1
editor1

List of changesets:

Armen Zambrano GasparnianBug 1064002 - Fix removal of --log-raw from xpcshell. r=chmanchester. a=testing - 93587eeda731
Karl TomlinsonBug 1108838 - Move stalled/progress timing from MediaDecoder to HTMLMediaElement. r=cpearce, a=sledru - 15e3be526862
Karl TomlinsonBug 1108838 - Dispatch "stalled" even when no bytes have been received. r=cpearce, a=sledru - b07f9144d190
Jeff MuizelaarBug 1090518 - Fix crash during webgl-depth-texture.html conformance test. r=jrmuizel, a=sledru - 36535f9806e6
Jan-Ivar BruaroeyBug 1098314 - Ignore and warn on turns: and stuns: urls until we support TURN/STUN TLS. r=bwc, a=sledru - 3b4908a629e8
Brad LasseyBug 1112345 - Tab streaming should scroll stream with layers and not offsets. r=snorp, a=sledru - 3956d52ad3f0
Karl TomlinsonBug 975782 - Bring media resource loads out of background while they delay the load event. r=cpearce, a=sledru - cdd335426a39
Karl TomlinsonBug 975782 - Stop delaying the load event when media fetch has stalled. r=cpearce, f=kinetik, a=sledru - 3abc61cb0abd
Dave TownsendBug 1102050 - Set consumeoutsideclicks="false" whenever the popup is opened. r=felipe, a=sledru - a33308dd5af8
Brad LasseyBug 1115802 - Scrolling no longer working when tab mirroring from fennec. r=snorp, a=sledru - f6d5f2303fea
Karl TomlinsonBug 1116676 - Ensure that AddRemoveSelfReference() is called on networkState changes. r=roc, a=sledru - ad2cfe2a92a5
Karl TomlinsonBug 1114885 - Allow media elements to be GC'd when their MediaSource is unreferenced. r=roc, a=sledru - 44e174f9d843
Dave TownsendBug 1094312 - Properly destroy browsers when switching between remote and non-remove pages and override the default destroy method in remote-browser.xml. r=mconley, a=sledru - 08f30b223076
Dave TownsendBug 1094312 - Fix browser_bug553455.js to handle the cases where the progress notification is hidden before it has fully appeared. r=Gijs, a=sledru - fc494bb31bec
Dave TownsendBug 1094312 - Fix browser_bug553455.js:test_cancel_restart by pausing the download for long enough for the progress notification to show reliably. r=Gijs, a=sledru - b71146fc0e37
Margaret LeibovicBug 1107925 - Don't launch fennec on search redirects. r=bnicholson, a=sledru - 6796cf5b59b1
Mark HammondBug 1116404 - Better timeout semantics for search service geoip lookups. r=felipe, a=sledru - 06bb4d89e2bf
Magnus MelinBug 1043310 - AutoCompletion doesn't take capitalization from address book entry, can leave angle brackets characters >> in field, when loosing focus by clicking outside (not enter/tab). r=mak, a=sledru - 1d406b3f20db
Matt WoodrowBug 1116626 - Null check mDecoder in AutoNotifyDecoded since it might have been shutdown already. r=karlt, a=sledru - e076d58d5b10
Matt WoodrowBug 1116284 - Don't run MP4Reader::Update after we've shut the reader down. r=cpearce, a=sledru - 2fd2c6de0a87
Bobby HolleyBug 1119456 - Make MP4Demuxer's blocking reads non-blocking and hoist blocking into callers with a hacky retry strategy. r=k17e, a=sledru - fa0128cdef95
Bobby HolleyBug 1119456 - Work around the fact that media cache does not quite guarantee the property we want. r=roc, a=sledru - 18f7174682d3
Andrea MarchesiniBug 1113062 - Part 1: PIFileImpl and FileImpl merged. r=smaug, a=sledru - 23f5b373f676
Andrea MarchesiniBug 1113062 - Part 2: ArchiveReaderZipFile non-CCed. r=smaug, a=sledru - f203230f49f4
Andrea MarchesiniBug 1113062 - IndexedDB FileSnapshot not CCed. r=janv, a=sledru - 962ac9efa80c
Matt WoodrowBug 1105066 - Make SeekPromise return the time we actually seeked to. r=kentuckyfriedtakahe, a=sledru - e16f64387888
Matt WoodrowBug 1105066 - Chain seeks in MediaSourceReader so that we seek audio to the same time as video. r=kentuckyfriedtakahe, a=sledru - 154dac808616
Anthony JonesBug 1105066 - Seek after switching reader. r=mattwoodrow, a=sledru - a0ffac1b2851
Matt WoodrowBug 1119033 - Don't try to evict when we don't have any initialized decoders. r=ajones, a=sledru - a78eb4dd84f0
Kai-Zhen LiBug 1119691 - Fix build bustage in dom/media/mediasource/MediaSource.cpp. r=bz, a=sledru - 7edfdc36c3cf
Bobby HolleyBug 1120014 - Initialize MediaSourceReader::mLast{Audio,Video}Time to 0 rather than -1. r=rillian, a=sledru - 201fee3158c1
Bobby HolleyBug 1120017 - Make the DispatchDecodeTasksIfNeeded path handle DECODER_STATE_DECODING_FIRSTFRAME. r=cpearce, a=sledru - aa8cdb057186
Bobby HolleyBug 1120023 - Clean up semantics of SourceBufferResource reading. r=cpearce, a=sledru - 60f6890d84cf
Bobby HolleyBug 1120023 - Fix some bugs in MockMediaResource. r=cpearce, a=sledru - e5cc2f8f3f7e
Bobby HolleyBug 1120023 - Switch SourceBufferResource::Read{,At} back to blocking. r=cpearce, a=sledru - 423cb20b5f43
D~ao GottwaldBug 1115307 - Search bar alignment fixes and cleanup. r=florian, a=sledru - c7e58ab0e1f6
Dave TownsendBug 1119450 - Clicks on the search go button shouldn't open the search popup. r=felipe, a=sledru - 17b6018c53f0
David KeelerBug 1065909 - Canonicalize hostnames in nsSiteSecurityService and PublicKeyPinningService. r=mmc, a=sledru - 82cce51fb174
Abdelrhman AhmedBug 1102961 - Cannot navigate AMO without closing the Options window. r=florian, a=sledru - 5ac62d0df17e
JW WangBug 1115505 - Keep decoding to ensure the stream is initialized in the decode-to-stream case. r=roc, a=sledru - 4d3d7478ffa4
Olli PettayBug 1108721 - HTMLMediaElement.textTracks needs to be nullable in Gecko for now. r=peterv, a=sledru - 5fba52895751
Bobby HolleyBug 1120629 - Cache data directly on MP4Stream rather than relying on the media cache. r=roc, a=sledru - f7bd9ae15c9e
Julian SewardBug 1119803 - Uninitialised value use in StopPrerollingVideo. r=bobbyholley, a=sledru - 0a648dfd0459
Andrea MarchesiniBug 1111971 - A better life-time management of aListener and aContext in WebSocketChannel. r=smaug, a=abillings - 19e248751a1c
Ryan VanderMeulenBacked out changeset e91fcba59c18 (Bug 1119941) because we don't want to ship int in 36b1. a=sledru - 1d99e9a39847
Ryan VanderMeulenBug 1088708 - Disable testOSLocale on Android x86 for permafailing. r=gbrown, a=test-only - 483bad7e5e88
Ryan VanderMeulenNo bug - Adjust some Android reftest expectations now that they're passing again. r=gbrown, a=test-only - 454907933777
Mark BannerBug 1119765 - Joining and Leaving a Loop room quickly can leave the room as full. Ensure we send the leave notification if we've already sent the join. r=mikedeboer,a=sylvestre - 9b99fc7b7c20
Sotaro IkedaBug 1112410 - Handle set dormant during seeking r=cpearce a=sledru - 5d185a7d03b5
Mike ConleyBug 1117936 - If print preview throws in browser-content.js, make sure printUtils.js can handle the error. r=Mossop, a=sledru - 2fd253435fe4
Dave TownsendBug 1118135 - Clicking the magnifying glass while the suggestions are open should close the popup and not re-open it. r=felipe, a=sledru - ee9df2674663
Chris PearceBug 1112445 - Ignore the audio stream when determining whether we should skip-t-o-next-keyframe for async readers. r=mattwoodrow, a=sledru - f82a118e1064
Steve FinkBug 1117768 - Fix assertion in AutoStopVerifyingBarriers and add tests. r=terrence, a=sledru - 53ae5eeb6147
Matt WoodrowBug 1121661 - Null check mDemuxer in MP4Reader::ResetDecoder since we might not have created one yet. r=bholley, a=sledru - 28900712c87f
Chris PearceBug 1112822 - Don't allow MP4Reader to decode if someone shut it down. r=mattwoodrow, a=sledru - c8031be76a86
Ryan VanderMeulenBacked out changeset 53ae5eeb6147 (Bug 1117768) for bustage. - 96d0d77a3462
Martyn HaighBug 1117130 - URL bar border slightly covered by fading edge of title. r=mfinkle, a=sledru - ca609e2e5bea
JW WangBug 1112588 - Ignore 'stalled' events because the progress timer could time out before receiving any HTTP notifications on slow machines like B2G emulator. r=cpearce, a=test-only - d185df72bd0e
Ryan VanderMeulenBug 1111137 - Disable test_user_agent_overrides.html on Android due to frequent failures. a=test-only - cd07ffdd30c5
Steve FinkBug 1111330 - GetBacktrace needs to be able to free the results buffer. r=njn, a=lsblakk - f154bf489b34
Robert StrongBug 1120673 - Verify Firewall service is running before adding Firewall exceptions - Fx 35 installer crashes on XP x86 SP3 at the end (creating shortcuts) if the xp firewall service is stopped. r=bbondy, a=sledru - bc2de4c07f1b
Nicolas B. PierronBug 1118911 - GetPcScript should care about bailout frames. r=jandem, a=sledru - 66f61f3f9664
Bobby HolleyBug 1121841 - Clear the failed read after checking it. r=jya, a=sledru - 0f43b4df53bb
Bobby HolleyBug 1121248 - Stop logging unimplemented methods in SourceBufferResource. r=mattwoodrow, a=sledru - b8922f819a88
Michael ComellaBug 1106935 - Part 1: Replace old tablet pngs with null XML resources. r=mhaigh, a=sledru - 0b7d9ce1cdc7
Ehsan AkhgariBug 1113121 - Null check the parent node in nsHTMLEditRules::JoinNodesSmart() before passing it to MoveNode; r=roc a=sylvestre - 64d25509541e
Jean-Yves AvenardBug 1121757: Prevent out of bound memory access should AVC data be invalid. r=kinetik a=sledru - 84bf56da4a55
Jean-Yves AvenardBug 1121342: Re-Request audio or video to decode first frame after a failed attempt. r=cpearce a=sledru - 7a8d1dd9fff3
Jean-Yves AvenardBug 1121342: Re-search for Moof if an initial attempt to find it failed. r=kentuckyfriedtakahe a=sledru - dfbca180664d
John DaggettBug 1118981 - initialize mSkipDrawing correctly for already loading fonts. r=jfkthame, a=sylvestre - beb62e1ad523
Mike HommeyBug 1110760 - Followup to avoid build failure with Windows SDK v7.0 and v7.0A. r=gps a=lsblakk - fe217a0d2e9a
Paul Kerr [:pkerr]Bug 1028869 - Part 1: Add ping and ack operations to PushHandler. r=standard8, a=sledru - fc47c7a95f85
Paul Kerr [:pkerr]Bug 1028869 - Part 2: xpcshell test updated with ping/restore. r=standard8, a=sledru - b653be6b040a
Gijs KruitboschBug 1079355 - indexedDB pref should only apply for content pages, not chrome ones, r=bent,a=sylvestre - 97b34f0b9946
Jean-Yves AvenardBug 1118123: Update mediasource duration following sourcebuffer::appendBuffer. r=cajbir a=sledru - 9a4a8602e6f4
Jean-Yves AvenardBug 1118123: Mochitest to verify proper sourcebuffer behavior. r=cajbir a=sledru - 61e917f920c9
Jean-Yves AvenardBug 1118123: Update mediasource web platforms tests now passing. r=karlt a=sledru - 7cd63f89473b
Jean-Yves AvenardBug 1119119: Do not abort when calling appendBuffer with no data. r=cajbir a=sledru - 4fe580b632e5
Jean-Yves AvenardBug 1119119: Update web-platform-tests expected data. r=karlt a=sledru - a1a315b3ff6b
Jean-Yves AvenardBug 1120084: Implement MSE's AppendErrorAlgorithm. r=cajbir a=sledru - da605a71901e
Jean-Yves AvenardBug 1120086: Re-open SourceBuffer after call to appendBuffer if in ended state. r=cajbir a=sledru - 7dd701f60492
Ben HearsumBug 1120420: switch in-tree update server/certs to aus4.mozilla.org. r=rstrong, a=lmandel - 59702337a220
Kartikaya GuptaBug 1107009. r=BenWa, a=sledru - 8d886705af93
Kartikaya GuptaBug 1122408 - Fix potential deadlock codepath. r=BenWa, a=sledru - e6df6527d52e
Phil RingnaldaBug 786938 - Disable test_handlerApps.xhtml on OS X. a=test-only - d1b7588f273b
Jan de MooijBug 1115844 - Fix Baseline to emit a nop for JSOP_DEBUGLEAVEBLOCK to temporarily work around a pc lookup bug. r=shu, a=sledru - 54a53a093110
Andreas PehrsonBug 1113600 - Part 1. Send stream data right away after adding an output stream. r=roc, a=sledru - 73c3918b169f
Andreas PehrsonBug 1113600 - Part 2. Handle setting a MediaStream sync point mid-playback. r=roc, a=sledru - e30a4672f03f
Andreas PehrsonBug 1113600 - Part 3. Add mochitest for capturing media mid-playback. r=roc, a=sledru - c17e1f237ff0
Andreas PehrsonBug 1113600 - Part 4. Handle switching directly from audio clock to stream clock. r=roc, a=sledru - b269b8f5102c
Gian-Carlo PascuttoBug 1119852 - Don't forget to update _requestedCapability in Windows camera driver. r=jesup, a=sledru - ee09df3331d0
Paul Kerr [:pkerr]Bug 1108028 - Replace pushURL registered with LoopServer whenever PushServer does a re-assignment. r=dmose, a=sledru - be5eee20bba5
Daniel HolbertBug 1110950 - Trigger a reflow (as well as a repaint) for changes to 'object-fit' and 'object-position', so subdocuments can be repositioned/resized. r=roc, a=sledru - 2b2b697613eb
Chris DoubleBug 1055904 - Improve MSE eviction calculation. r=jya, a=sledru - 595835cd60a0
Martyn HaighBug 1111598 - [Tablet] Make action bar background color consistent with the new tablet tab strip background. r=mcomella, a=sledru - 3e58a43384cd
Tim TaubertBug 950399 - SessionStore shouldn't forget domain cookies. r=yoric, a=sledru - 91f8d6ca5030
Tim TaubertBug 950399 - Tests for domain cookies. r=yoric, a=sledru - 670d3f856665
Jean-Yves AvenardBug 1120075 - Use Movie Extend Header's duration as fallback when available. r=kentuckyfriedtakahe, a=sledru - 18ade4ad787e
Jean-Yves AvenardBug 1119757 - Allow seeking on media with infinite duration. r=cpearce, a=sledru - b0c42a7f0dc7
Jean-Yves AvenardBug 1119757 - MSE: handle duration of 0 in metadata as infinity. r=mattwoodrow, a=sledru - 3e5d8c21f3a2
Jean-Yves AvenardBug 1120079 - Do not call Range Removal algorithm after endOfStream. r=cajbir, a=sledru - 2a36e0243edd
Jean-Yves AvenardBug 1120282 - Do not fire durationchange during call to ReadMetadata. r=mattwoodrow, a=sledru - 9bb138f23d58
Dragana DamjanovicBug 1108971 - Fix parameter in call GetAddrInfo. r=sworkman, a=sledru - 2dbbd7362502
Sotaro IkedaBug 1110343 - Suppress redundant loadedmetadata event when dormant exit. r=cpearce, a=sledru - fae52bd681e0
Sotaro IkedaBug 1108728 - Remove dormant related state from MediaDecoder. r=cpearce, a=sledru - 9ad34e90e339
Bobby HolleyBug 1121692 - Remove unnecessary arguments to ::Seek. r=mattwoodrow, sr=cpearce, a=sledru - d7e079df1b3d
Bobby HolleyBug 1121692 - Stop honoring aEndTime in MediaSourceReader::Seek. r=mattwoodrow, a=sledru - 67f6899c6221
Bobby HolleyBug 1121692 - Fix potential race condition with mWaitingForSeekData. r=mattwoodrow, a=sledru - 871ab0d29bb8
Bobby HolleyBug 1121692 - Clean up semantics around m{Audio,Video}IsSeeking. r=mattwoodrow, a=sledru - 35f5cf685186
Bobby HolleyBug 1121692 - Move the interesting seek state logic into DecodeSeek. r=mattwoodrow, r=cpearce, a=sledru - 3e1dd9e96598
Bobby HolleyBug 1121692 - Make seeks cancelable. r=cpearce, r=mattwoodrow, a=sledru - 2195dc79a65f
Bobby HolleyBug 1121692 - Handle mid-seek Request{Audio,Video}Data calls. r=cpearce, a=sledru - 4f059ea15ecf
Bobby HolleyBug 1121692 - Tests. r=mattwoodrow, r=cpearce, a=sledru - 56744595737c
Michael ComellaBug 1116912 - Don't hide the dynamic toolbar when it was originally shown but a tab was selected. r=wesj, a=sledru - 55bd32c43abd
Valentin GosuBug 1121826 - Backout cc192030c28f - brackets shouldn't be automatically escaped in the Query. r=mcmanus, a=sledru - 12bda229bf83
Nicholas NethercoteBug 1122322 - Fix crash in worker memory reporter. r=bent, a=sledru - c5dfa7d081f4
Ryan VanderMeulenBug 1055904 - Fix non-unified bustage in TrackBuffer.cpp. a=bustage - c703f90c5b80
Patrick McManusBug 1121706 - Don't offer h2 in alpn if w/out mandatory suite. r=hurley, a=sledru - 131919c0babd
Barbara GuidaBug 1122586 - Unbreak build on platforms missing std::llabs since Bug 1073716. r=dholbert, a=sledru - 506cfb41b8f3
Jean-Yves AvenardBug 1121876 - Treat negative WMF's output sample timestamp as zero. r=cpearce, a=sledru - e017341d2486
Jean-Yves AvenardBug 1121876 - Configure WMF decoder to output PCM 16. r=cpearce, a=sledru - cd88be2b57ac
Robert LongsonBug 1119698 - Ensure image elements take pointer-events into account. r=jwatt, a=sledru - 94e7cb795a05
Chris PearceBug 1123498 - Make MP4Reader skip-to-next-keyframe less aggressively. r=mattwoodrow, a=sledru - cee6bfbbecd7
Jean-Yves AvenardBug 1123507 - Prevent out of bound memory access. r=edwin, a=sledru - 8691f7169392
Geoff BrownBug 1105388 - Avoid robocop shutdown crashes with longer wait. r=mfinkle, a=test-only - ea7deca21c27
Anthony JonesBug 1116056 - Change MOZ_ASSERT() to NS_WARNING() in Box::Read(). r=jya, a=sledru - 54386fba64a7
Jean-Yves AvenardBug 1116056 - Ensure all atoms read are valid. r=mattwoodrow, a=sledru - 1f392909ff1f
Xidorn QuanBug 1121350 - Fix extra space on right from whitespace. r=roc, a=sledru - 598cd9c2e480
Kartikaya GuptaBug 1120252 - Avoid trying to get the APZCTreeManager if APZ isn't enabled. r=mattwoodrow, a=bustage - 1b21115851ef

http://release.mozilla.org/statistics/36/2015/01/22/fx-36-b1-to-b2.html


Advancing Content: Request for Innovation: Content and Ad Tech

Четверг, 22 Января 2015 г. 14:16 + в цитатник

We founded the Content Services group at Mozilla in order to build user-first content experiences and services within the Firefox browser that:

  • Respect user choice
  • Respect user data
  • Provide user value
  • Where possible, create new revenue opportunities for Mozilla and our partners

We have delivered Tiles in Firefox and have successfully tested some content partnerships. Our next objectives are:

  1. To provide a better content and advertising experience for our users within Firefox.  This may include but is not limited to the creation of new units, better personalization, and a higher volume of partners for varied content.
  2. To push the industry forward.  We are sure that there are content and advertising technology companies who aspire to the same principles we do but do not have the tools to act with today.

That’s why in the next few days we will be contacting a number of content and advertising tech companies, both large and small, to discuss an RFI (“Request for Innovation” – a partnership proposal) for providing more automation and scale in our offering.  Scale allows us to deliver content to our users across the globe so we keep the experience for users fresh and current.  Automation allows us to do this on a scale that’s significant.  We have to engage with the industry’s state-of-the-art.  That means working programmatically (and this can be a very complex space to operate in).  We know that there are many people in ad tech who welcome our involvement – many have already joined the project.

One of Mozilla’s distinct qualities is its ability to bring in champions for our cause, from advocating for open standards to sharing the vision of an open mobile ecosystem, we are at our best when we focus on our own competence and bring others into our community.

This will not be business as usual.  We have a very clear sense of who we would and would not partner with, and any relationship we enter into has to support our values.  And while there may be some areas for discussion we will not partner with organizations who blatantly disrespect the user.

We are explicit about this in the RFI: we want to work with partners who align with the Mozilla mission and our user-centric ethos to change and evolve the industry through this engagement.  As talked about in previous posts on this blog, we’re looking for support amongst our three core principles:

  • Trust: Always architect with honesty in mind. Ask, “Do users understand why they are being presented with content? Do they understand what fragments of their data underscore advertising decisions?”
  • Transparency: Always be transparent. “Is it clear to users why advertising and content decisions are made? Is it clear how their data is being consumed and shared?  Are they aware and openly contributing to the dialog?”
  • Control: Always put the control with the user. “Do users have the ability to control their own data? Do they have the option to be completely private, completely public or somewhere in between?”

Our team is working hard to deliver against these promises to our users:

  • We believe digital advertising can respect users’ privacy choices.
  • We can build useful products and experiences that users will choose to engage with, and provide an experience that delivers value.
  • We believe publishers should respect browser signals around tracking and privacy. Our content projects will respect DNT signals.
  • We will collect and retain the minimal amount of data required to provide value to users, advertisers, and publishers.
  • We will put users in control of product feature opt-in/out.

We’ve launched the early version of our platform in the Firefox anniversary release (33.1), last November and we’ve been learning and tweaking it since.  2015 is a big year for us to scale and build better experiences and we’re looking forward to sharing these with you.

Feel free to reach out to us (contentservices@mozilla.com) or join our interest list.  

https://blog.mozilla.org/advancingcontent/2015/01/22/request-for-innovation/


Christian Heilmann: Browsers, Services and the OS – oh my…

Четверг, 22 Января 2015 г. 14:02 + в цитатник

Yesterday’s two hour Windows 10 briefing by Microsoft had some very interesting things in it (The Verge did a great job live blogging it). I was waiting for lots of information about the new browser, code name Spartan, but most was about Windows 10 itself. This is, of course, understandable and shows that I care about browsers maybe too much. There was interesting information about Windows 10 being a free upgrade, Cortana integration on all platforms, streaming games from xbox to Windows and vice versa. The big wow factor at the end of the brief was HoloLens, which makes interactivity like Iron Man had in his lab not that far-fetched any longer.

hololens working

For me, however, the whole thing was a bit of an epiphany about browsers. I’ve always seen browsers as my main playground and got frustrated by lack of standards support across them. I got annoyed by users not upgrading to new ones or companies making that hard. And I was disappointed by developers having their pet browsers to support and demand people to use the same. What I missed out on was how amazing browsers themselves have become as tools for end users.

For end users the browser is just another app. The web is not the thing alongside your computing interaction any longer, it is just a part of it. Just because I spend most of my day in the browser doesn’t make it the most important thing. In esssence, the interaction of the web and the hardware you have is what is the really interesting part.

A lot of innovation I have seen over the years that was controversial at that time or even highly improbable is now in phones and computers we use every day. And we don’t really appreciate it. Google Now, Siri and now Microsoft’s Cortana integration into the whole system is amazingly useful. Yes, it is also a bit creepy and there should be more granular insight into what gets crawled and what isn’t. But all in all isn’t it incredible that computers tell us about upcoming flights, traffic problems and remind us about things we didn’t even explicitly set as a reminder?

Spartan Demo screenshot by the verge

The short, 8 minute Spartan demo in the briefing showed some incredible functionality:

  • You can annotate web page with a stylus, mouse or add comments to any part of the text
  • You can then collect these, share them with friends or watch them offline later
  • Reading mode turns the web into a one-column, easy to read version. Safari, Mobile browsers like Firefox Mobile have this and third party services like Readability did that before.
  • Firefox’s awesome bar and Chrome’s Google Now integration also is in Windows with Cortana being available anywhere in the browser.

Frankly, not all of that is new, but I have never used these features. I was too bogged down into what browsers can not do instead of checking what is already possible for normal users.

I’ve mentioned this a few times in talks lately: a lot of the innovation of add-ons, apps and products is merging with our platforms. Where in the past it was a sensible idea to build a weather app and expect people to go there or even pay for it, we get this kind of functionality with our platforms. This is great for end users, but it means we have to be up to speed what user interfaces of the platforms look like these days instead of assuming we need to invent all the time.

Looking at this functionality made me remember a lot of things promised in the past but never really used (at least by me or my surroundings):

  • Back in 2001, Microsoft introduced Smart Tags, which caused quite a stir in the writing community as it allows third party commenting on your web content without notifying you. Many a web site added the MSSmartTagsPreventParsing to disallow this. The annotation feature of Spartan now is this on steroids. Thirdvoice (wayback machine archive) was a browser add-on that did the same, but got creepy very quickly by offering you things to buy. Weirdly enough Awesome Screenshot, an annotation plug-in also now gets very creepy by offering you price comparisons for your online shopping. This shows that a functionality like that doesn’t seem to be viable as a stand-alone business model, but very much makes sense as a feature of the platform.
  • Back in 2006, Ray Ozzie of Microsoft at eTech introduced the idea of the Live Clipboard. It was this:
    [Live Clipboard…] allows the copy and pasting of data, including dynamic, updating data, across and between web applications and desktop applications.
    The big thing about this was that it would have been an industrial size use case for Microformats and could have given that idea the boost it needed. However, despite me pestering Chris Wilson of – then – Microsoft at @media AJAX 2006 about it, this never took off. Until now, it seems – except that the clippings aren’t live.
  • When I worked in Yahoo, Browser Plus came out of a hackday, an extension to browsers that allows easier file uploads and drag and drop between browser and OS. It also gave you Desktop notifications. One of the use cases shown at the hack day was to drag and drop products from several online stores and then checkout in one step with all of them. This, still, is not possible. I’d wager to guess that legal problems and tax reasons are the main blocker there. Drag and Drop and uploads as well as Desktop notifications are now reality without add-ons. So we’re getting there.

This year will be very exciting. Not only does HTML5 and JavaScript get new features all the time. It seems to me that browsers become much, much smoother at integrating into our daily lives. This spells doom for a lot of apps. Why use an app when the functionality is already available with a simple click or voice command?

Of course, there are still many issues to fix, mainly offline and slow connection use cases. Privacy and security is another problem. Convenient as it is, there should be some way to know what is listening in on me right now and where the data goes. But, I for one am very interested about the current integration of services into the browser and the browser into the OS.

http://christianheilmann.com/2015/01/22/browsers-services-and-the-os-oh-my/


Henrik Skupin: Firefox Automation report – week 49/50 2014

Четверг, 22 Января 2015 г. 10:19 + в цитатник

In this post you can find an overview about the work happened in the Firefox Automation team during week 49 and 50.

Highlights

During the first week of December the all-hands work week happened in Portland. Those were some great and inspiring days, full of talks, discussions, and conversations about various things. Given that I do not see my colleagues that often in real life, I have taken this opportunity to talk to everyone who is partly or fully involved in projects of our automation team. There are various big goals in front of us, so clearing questions and finding the next steps to tackle ongoing problems was really important. Finally we came out with a long list of todo items and more clarity about so far unclear tasks.

In week 50 we got some updates landed for Mozmill CI. Given a regression from the blacklist landing, our l10n tests haven’t been executed for any locale of the Firefox Developer Edition. Since the fix landed, we have seen problems with access keys in nearly each locale for a new test, which covers the context menu of web content.

Also we would like to welcome Barbara Miller in our team. She joined us as an intern via the FOSS outreach program as driven by Gnome. She will be with us until March and will mainly work on testdaybot and the conversion of Mozmill tests to Marionette. The latter project is called m21s and details can be found on its project page. Soon I will post more details about it.

Individual Updates

For more granular updates of each individual team member please visit our weekly team etherpad for week 49 and week 50.

Meeting Details

If you are interested in further details and discussions you might also want to have a look at the meeting agenda, the video recording, and notes from the Firefox Automation meeting of week 48. Due to the Mozilla all-hands workweek there was no meeting in week 49.

http://www.hskupin.info/2015/01/22/firefox-automation-report-week-49-50-2014/


Mike Hommey: Fx0

Четверг, 22 Января 2015 г. 02:25 + в цитатник

Two weeks ago, I went to a local au shop to get a hand on the Fx0, KDDI’s LG-manufactured Firefox OS phone that was released in Japan for Christmas in a few flagship shops and on the web, and on January 6 everywhere else in Japan.

They had it on display, like any other phone.

But they didn’t have any stock, so I couldn’t bring one home, but ordered one.

Fast forward two days ago, the shop called to say they received it, and I went yesterday to get it.

Unboxing

Since the phone is not sold without a carrier subscription, the shop staff does the unboxing for you, to place the SIM card in the phone. But let’s pretend that didn’t happen.

The Fx0 comes in a gold box with a gold Firefox logo, wrapped in a white box with the characters “Fx0'' embossed.

Opening the gold box, unsurprisingly, reveals the gold transparent phone.

Reading articles about this phone, opinions are divided about its look. I’m on the side that thinks it looks awesome, especially in the back. I does look bulky, probably because of its rather sharp edges, but it’s not much larger than a Nexus 4. Nor is it much thicker.

One side has “au” embossed, and the other has “Fx0''.

One downside of the transparent theme is that it limited the types of materials that could be used, so it sadly feels plastic to the touch. At least that’s why I think it is this way.

At the bottom of its front, a single “home” button, showing the Firefox logo.

Turning it on

Well, it was already on when I first got my hands on it, but in our pretense of unboxing, let’s say it was not, and that I turned it on for the first time (which, in some sense, is true). This is what it looks like when it boots:

After unlocking, the home screen appears.

I’ll be trying to use it as my main (smart)phone, and see how that goes. I’ll also test some of its KDDI specific features. Blog posts will come along. Stay tuned.

http://glandium.org/blog/?p=3443


Kim Moir: Reminder: Releng 2015 submissions due Friday, January 23

Среда, 21 Января 2015 г. 23:36 + в цитатник
Just a reminder that submissions for the Releng 2015 conference are due this Friday, January 23. 

It will be held on May 19, 2015 in Florence Italy.

If you've done recent work like
  • migrating your build or test pipeline to the cloud
  • switching to a new build system
  • migrating to a new version control system
  • optimized your configuration management system or switched to a new one
  • implemented continuous integration for mobile devices
  • reduced end to end build times
  • or anything else build, release, configuration and test related
we'd love to hear from you.  Please consider submitting a talk!

In addition, if you have colleagues that work in this space that might have interesting topics to discuss at this workshop, please forward this information. I'm happy to talk to people about the submission process or possible topics if there are questions.

Il Duomo di Firenze by ©eddi_07, Creative Commons by-nc-sa 2.0


Sono nel comitato che organizza la conferenza Releng 2015 che si terr`a il 19 Maggio 2015 a Firenze. La scadenza per l’invio dei paper `e il 23 Gennaio 2015.

http://releng.polymtl.ca/RELENG2015/html/index.html

se avete competenze in:
  • migrazione del sistema di build o dei test nel cloud
  • aggiornamento del processo di build
  • migrazione ad un nuovo sistema di version control
  • ottimizzazione o aggiornamento del configuration management system
  • implementazione di un sistema di continuos integration per dispositivi mobili
  • riduzione dei tempi di build
  • qualsiasi cambiamento che abbia migliorato il sistema di build/test/release
e volete discutere della vostra esperienza, inviateci una proposta di talk!

Per favore inoltrate questa richiesta ai vostri colleghi e alle persone interessate a questi argomenti. Nel caso ci fossero domande sul processo di invio o sui temi di discussione, non esitate a contattarmi.

(Thanks Massimo for helping with the Italian translation).

More information
Releng 2015 web page
Releng 2015 CFP now open

http://relengofthenerds.blogspot.com/2015/01/reminder-releng-2015-submissions-due.html


Ian Bicking: A Product Journal: The Technology Demo

Среда, 21 Января 2015 г. 22:01 + в цитатник

I’m going to try to journal the process of a new product that I’m developing in Mozilla Cloud Services. My previous and first post was Conception.

As I finished my last post I had a product idea built around a strategy (growth through social tools and sharing) and a technology (freezing or copying the markup). But that’s not a concise product definition centered around user value. It’s not even trying. The result is a technology demo, not a product.

In my defense I’m searching for some product, I don’t know what it is, and I don’t know if it exists. I have to push this past a technology demo, but if I have to start with a technology demo then so it goes.

I’ve found a couple specific experiences that help me adapt the product:

  • I demo the product and I sense an excitement for something I didn’t expect. For example, a view that I thought was just a logical necessity might be what most appeals to someone else. To do this I have to show the tool to people, and it has to include things that I think are somewhat superfluous. And I have to be actively reading the person viewing the demo to sense their excitement.

  • Remind myself continuously of the strategy. It also helps when I remind other people, even if they don’t need reminding – it centers the discussion and my thinking around the goal. In this case there’s a lot of personal productivity use cases for the technology, and it’s easy to drift in that direction. It’s easy because the technology facilitates those use cases. And while it’s cool to make something widely useful, that won’t make this tool work the way I want as a product, or work for Mozilla. (And because I plan to build this on Mozilla’s dime it better work for Mozilla! But that’s a discussion for another post.)

  • I’ll poorly paraphrase something I’m sure someone can source in the comments: a product that people love is one that makes those people feel great about themselves. In this case, makes them feel like a journalist and not just a crank, or makes them feel like they are successfully posing as a professional, or makes them feel like what they are doing is appreciated by other people, or makes them feel like an efficient organizer. In the product design you can exult the product, try to impress people, try to attract compliments on your own prowess, but love comes when a person is impressed with themselves when they use your product. This advice helps keep me from valuing cleverness.

A common way to pull people out of technology-focused thinking is to ask “what problem does this solve?” While I appreciate this question more than I used to, it still makes me bristle. Why must everything be focused on problems? Why not opportunities! Why? An answer: problems are cases where a person has already articulated a tension and an openness to resolution. You have a customer in waiting. But must we confine ourselves to the partially formed conventional wisdom that makes something a “problem”? (One fair answer to this question is: yes. I remain open to other answers.) Maybe a more positive alternative to “what problem does this solve?” is “what does this let people do that they couldn’t do before?”

What I’m certain of is that you should constantly remember the people using your tool will care most about their interests, goals, and perspective; and will not care much about the interests, goals, or perspective of the tool maker.

So what should this tool do? If not technology, what defines it? A pithy byline might be share better. I don’t like pithy, but maybe a whole bag of pithy:

  • Improving on the URL
  • Own what you share
  • Share content, not pointers
  • Share what you see, anything you see
  • Every share is a message, make it your message
    Dammit, why do I feel compelled to noun “share”?
  • Share the context, the journey, not just the web destination
  • Own your perspective, don’t give it over to site owners
  • Know how and when people see what you share
  • Build better content, even if the publisher doesn’t
  • Trade in content, not promises for content
  • Copy/enhance/share

No… quantity doesn’t equal quantity I suppose. Another attempt:

When you share, you are a publisher. Your medium is the IM text input, or the Facebook status update, or the email composition window. It seems casual, it seems pithy, but that individual publishing is what the web is built on. I respect everyone as a publisher, every medium as worthy of improvement, and this project will respect your efforts. We will try to make a tool that can make every instance just a little bit better, simple when all you need is simple, polished if you want. We will defer your decisions because you should decide in context, not make decisions in the order that makes our work easier; we will be transparent to you, your audience, and your source; respect for the reader is part of our brand promise, and that adds to the quality of your shares; we believe content is a message, a relationship between you and your audience, and there is no universally appropriate representation; we believe there is order and structure in information, but only when that information is put to use; we believe our beliefs are always provisional and tomorrow it is our prerogative to rebelieve whatever we want most.

Who is we? Just me. A pretentiously royal we. It can’t stay that way for long though. More on that soon…

http://www.ianbicking.org/blog/2015/01/product-journal-tech-demo.html


Gervase Markham: “Interactive” Posters

Среда, 21 Января 2015 г. 19:52 + в цитатник

Picture of advertising poster with sticker alongside with QR code and short URL

I saw this on a First Capital Connect train here in the UK. What could possibly go wrong?

Ignoring the horrible marketing-speak “Engage with this poster” header, several things can go wrong. I didn’t have NFC, so I couldn’t try that out. But scanning the QR code took me to http://kbhengage.zpt.im/u/aCq58 which, at the time, was advertising for… Just Eat. Not villaplus.com. Oops.

Similarly, texting “11518” to 78400 produced:

Thanks for your txt, please tap the link:
http://kbhengage.zpt.im/u/b6q58

Std. msg&data rates may apply
Txt STOP to end
Txt HELP for help

which also produced content which did not match the displayed poster.

So clearly, the first risk is that the electronic interactive bits are not part of the posters themselves, and so the posters can be changed without the interactive parts being updated to match.

But also, there’s the secondary risk of QR codes – they are opaque to humans. Someone can easily make a sticker and paste a new QR code on top of the existing one, and no-one would see anything immediately amiss. But when you tried to “engage with this poster”, it would then take you to a website of the attacker’s choice.

http://feedproxy.google.com/~r/HackingForChrist/~3/Cgd6wITXWDU/


Mozilla Fundraising: Should we use the Mozilla or Firefox logo on our donation form?

Среда, 21 Января 2015 г. 19:30 + в цитатник
Our end of year fundraising campaign has finished now, but while it’s fresh in our minds we still want to write up and share the results of some of the A/B tests we ran during the campaign that might be … Continue reading

https://fundraising.mozilla.org/should-we-use-the-mozilla-or-firefox-logo-on-our-donation-form/


Pete Moore: Weekly review 2015-01-21

Среда, 21 Января 2015 г. 18:25 + в цитатник

This week I’ve started work on the Go port of the taskcluster client: https://github.com/petemoore/taskcluster-client-go.

This week I learned about AMQP, go routines and channels, Hawk authentication, TaskCluster architecture, and started using some go libraries.

Other activities:

  • b2g bumper code reviews

http://petemoore.tumblr.com/post/108738368523


Bogomil Shopov: Why is Bulgaria Web Summit 2015 so different from any other event?

Среда, 21 Января 2015 г. 15:35 + в цитатник

When I talk to sponsors and even to friends about the Summit, they always ask me what makes our event different.

So here’s the secret:

We started this event 11 years ago (under a different name) as an effort to create something amazing and affordable for IT guys in Bulgaria. At the same time we never compromise with quality. The main purpose of the event is for our attendees to learn new things, which they can apply in their work on the very next day and to return the “investment” they have made in the conference.

Speakers

In most of the conferences I’ve been in Europe, well-trained company folks talk about their success at Fakebook or Playpal and how to clone it to your company – This doesn’t work and you will not see it at our event and in the same time you have to spend tons of money just to listen to the guy.

In the most conferences I’ve been in Europe, well-respected gurus talk about some programming art – they do that all the time, they just talk, they don’t code anymore – You will not see this at our event – We invite only professionals and they share their experience with you and on the next day, they will not depart for another event, but they will go back to do the thing they do the best.

We have had amazing speakers over the years. Some of them became friends of the event and they can come again and again, even without paying them a dime. We build relationships with our speakers, because we are Balkan people and this is what we do.

Many people still remember Monty’s Black Vodka, Richard Stallman‘s socks and many other stories that must be kept secret :)

 

The audience

We do have the best audience ever! I mean it. We have people that haven’t missed an event since 2004. They are honest and if you screw up they will tell you and they will give you kudos if you do something amazing. In most of the years, the tickets are sold months before the event, even without a schedule and even without the speakers yet known, because we proved the event is good.

We have people who met at our event and got married, we have people who met at our event and started business together, we have companies that hired great professionals because of our events; we have kicked off many careers by showing the people great technologies and ways to use them.

 

The money

Of course it’s not all about money. We do need them to make the event great, but our main goal is not to make money out of it. As you can see the entrance fee is low – for the same event in Europe (same speakers) you would have to pay 5-10 times more. We realize that we live in a different country and the conditions are different, but we are trying to find a way to keep the fee low and at the same time to still keep up the quality of the talks and emotions. We can achieve this only thanks to our sponsors. Thank you, dear sponsors!

 

Experiments

We do experiment a lot. We are trying to make a stress-free event, full of nice surprises, parties and interesting topics.

We are not one of those conferences where you get tons of coffee in the breaks (sometime we even don’t have breaks, nor coffee for that matter, just beer!) and a schedule 3 months in advance or you can sit and pretend you are listening, because someone paid you the fee. With us you are a part of the event all the time: we have games, hackathons and other stuff you can take part in. We give you the bread and butter, use your mind to make a sandwich. :)

 

We grow

We failed many times at many tasks, but we are learning and improving. We are not a professional team doing this for the money. We are doing this for fun and to help our great and amazing community. We count on volunteers. Thank you, dear volunteers!

 

Marketing?

We are one of the few events that don’t have history of the event on their website. Duh! We do believe that if you visit us once (because a friend told you about us) you don’t need a silly website to convince you again to come :) We do not spend (a lot of) money on marketing or professional services. We count on word of mouth and you. Thank you!

Join us and see for yourself!

http://talkweb.eu/why-is-bulgaria-web-summit-2015-so-different-from-any-other-event/


Gervase Markham: Your Top 50 DOS Problems Solved

Среда, 21 Января 2015 г. 12:29 + в цитатник

I was clearing out some cupboards at our family home when I came across a copy of “Your Top 50 DOS Problems Solved”, a booklet published free with “PC Answers” magazine in 1992 – 23 years ago. PC Answers has sadly not survived, closing in 2010, and its domain is now a linkfarm. However, the sort of problems people had in those days make fascinating reading.

Now I’ve finished blogging quotes from “Producing Open Source Software” (the updated version of which has, sadly, yet to hit our shelves), I think I’ll blog through these on an occasional basis. Expect the first one soon.

http://feedproxy.google.com/~r/HackingForChrist/~3/WATuaHSxb1Q/


Andreas Gal: WebVR is coming to Firefox Nightly

Среда, 21 Января 2015 г. 02:54 + в цитатник

In 2014 Mozilla started working on adding VR capabilities to the Web. Our VR team proposed a number of new Web APIs and made an experimental VR build of Firefox available that supports rendering VR content using the Web to Oculus Rift headsets.

Consumer VR products are still in a nascent state, but clearly there is great promise for this technology. We have enough confidence in the new APIs we have proposed that we are today taking the step of integrating them into our regular nightly Firefox builds. Head over to MozVR for all the details, and if you own an Oculus Rift headset or mobile VR-capable hardware we support, give it a spin!

 


Filed under: Mozilla

http://andreasgal.com/2015/01/20/webvr-is-coming-to-firefox-nightly/


Matt Thompson: What we’re working on this Heartbeat

Вторник, 20 Января 2015 г. 19:11 + в цитатник

Transparency. Agililty. Radical participation. That’s how we want to work on Webmaker this year. We’ve got a long way to go,  but we’re building concrete improvements and momentum — every two weeks.

We work mostly in two-week sprints or “Heartbeats.” Here’s the priorities we’ve set together for the current Heartbeat ending January 30.

Questions? Want to get involved? Ask questions in any of the tickets linked below, say hello in #webmaker IRC, or get in touch with @OpenMatt.

What we’re working on now

See it all (always up to date): http://build.webmaker.org/now 

Or see the work broken down by:

Learning Networks

  • Design & test new teach.webmaker.org wireframes
  • Get the first Webmaker Club curriculum module ready for testing
  • Finalize our documentation for Badges / Credentialing
  • Document our Q1 / Q2 plan for Training

Learning Products

Desktop / Tablet:

  • Improve user on-boarding (Phase II)
  • Improve our email communications after users sign up
  • Create better moderation functionality for webmaker.org/explore (formerly known as “the gallery”)
  • Build a unified tool prototype (Phase II)

 Mobile

  • Draft demo script and plan our marketing activities for Mobile World Congress
  • Make localization improvements to the Webmaker App
  • Build and ship device integrations and a screenshot service for Webmaker App
  • Distribute the first draft of our Kenya Field Report

 Engagement

  • Prep and execute Data Privacy Day campaign (Jan 28)
  • Prep for Net Neutrality Campaign (Feb 5)
  • Draft a branding plan for Learning Products and Learning Networks
  • Design a splash page for Mobile World Congress

 Planning & Process

  • Design and execute a communications plan on our overall 2015 plan
  • Document all our Q1 goals and KPIs in one spot
  • Add those quarterly goals to our dashboard
  • Ship updated documentation to build.webmaker.org (including: “How we do Heartbeats” & “How to use Git Hub Issues”)

http://openmatt.org/2015/01/20/priorities/


Gervase Markham: Credit as Currency

Понедельник, 19 Января 2015 г. 21:21 + в цитатник

Credit is the primary currency of the free software world. Whatever people may say about their motivations for participating in a project, I don’t know any developers who would be happy doing all their work anonymously, or under someone else’s name. There are tangible reasons for this: one’s reputation in a project roughly governs how much influence one has, and participation in an open source project can also indirectly have monetary value, because some employers now look for it on resum'es. There are also intangible reasons, perhaps even more powerful: people simply want to be appreciated, and instinctively look for signs that their work was recognized by others. The promise of credit is therefore one of best motivators the project has. When small contributions are acknowledged, people come back to do more.

— Karl Fogel, Producing Open Source Software

http://feedproxy.google.com/~r/HackingForChrist/~3/zlsfBQcAHBM/


Christian Heilmann: Be my eyes, my brain, my second pair of eyes…

Понедельник, 19 Января 2015 г. 19:05 + в цитатник

(cross published on Medium, in case you want to comment on paragraphs).

In the last few days, the “Be My Eyes” App made quite a splash. And with good reason, as it is a wonderful idea.

Be my eyes

The app plans to connect non-sighted people with sighted ones when they are stuck with a certain task. You ask for a pair of eyes, you connect over a smart phone, video the problem you have and get a volunteer human to help you out with a video call. Literally you offer to be the eyes for another person.

This is not that new, for example there were services that allow for annotation of inaccessible web content (WebVisum, IBM’s (now defunct) social accessibility project) before. But, be my eyes is very pretty and makes it much easier to take part and help people.

Only for the richer eyes…

Right now the app is iOS only, which is annoying. Whilst the accessibility features of iOS used to be exceptional it seems to be losing in quality with iOS8. Of course, the other issue is the price. Shiny Apple things are expensive, Android devices and computers with built-in cameras less so. The source code of be my eyes is on GitHub which is a great start. We might be able to see versions of it on Android and WebRTC driven versions for the web and mobile soon.

Concerns mentioned

As with any product of this ilk, concerns and criticism happen quickly:

  • This may portrait people with disabilities as people who are dependent on others to work. In essence, all you need to do is remove barriers. I know many, very independent blind people and it is depressing how many prejudices are still there that people with disabilities need our help for everything. They don’t. What they need is less people who make assumptions about abilities when building products.
  • There is a quality concern here. We assume that people signing up want to help and have good intentions. However, nothing stops trolls from using this either and deliberately giving people wrong advice. There are people who post seizure-inducing GIFs on epilepsy forums, for example. For a sociopath who wants to hurt people this could be “fun” to abuse. Personally, I want to believe that people are better than that, but only one incident where a blind user gets harmed “for the lulz” might be enough to discredit the whole product.

Extending the scope of this app

I don’t see why this app could not become more than it is now. We all could need a second pair of eyes from time to time. For example:

  • to help with some translation,
  • to recognise what breed a certain puppy is,
  • to help us find inspiration for a painting,
  • to learn how to fix a certain appliance in my kitchen without destroying it
  • to have some locals show us which roads are easier to walk,
  • to have an expert eye tell me if my makeup looks good and what could be done
  • to get fashion advice on what I could mix and match in my closet to look great

Some of those have great potential for monetisation, others were done before and died quickly (the local experts one was a product I was involved in at Yahoo called Yocal, which never saw the light of day and could have been foursquare years before foursquare).

Again, this would be nothing new: expert peer to peer systems have come and gone before. When I worked on Yahoo Answers there were discussions to allow for video upload for questions and answers. A prospect that scared the hell out of me seeing that “is my penis big enough” was one of the most asked questions in the Yahoo Answers Men’s health section (and any other, to be fair).

The defunct Google Answers had the idea to pay experts to answer your questions quickly and efficiently. Newer services like LiveNinja and AirPair do this with video chats (and Google, of course may want Hangouts to be a player in that space).

The issues that all of these services face is quality control and safety. Sooner or later any of the original attempts at this failed because of these. Skype services to pay for audio or video advice very quickly became camsex hangouts or phonesex alternatives. This even happens in the offline world – my sister used to run a call centre and they found out that one of their employees offered her phonesex services to eligible men on the line. Yikes.

Another issue is retain-ability and re-use. It is not fun to try to find a certain part of a video without a timed transcript. This can be automated to a degree – YouTube’s subtitling is a good start – but that brings up the question who else reads the private coaching session you had?

Can this be the start or will hype kill it again?

If anything, the user interface and interaction pattern of Be my Eyes is excellent, and the availability of video phones and chat abilities like WebRTC make it possible to have more of these services soon.

In the coding world, real live interaction is simple these days. JSFiddle’s collaboration button allows you to code together, JSBin allows people to watch you while you code and Mozilla’s together.js allows you to turn any web page into a live audio and video chat with multiple cursors.

We use Google Docs collaboratively, we probably have some live chat going with our colleagues. The technology is there. Firefox now has a built-in peer to peer chat system called Hello. Wouldn’t it be cool to have an API for that to embed it in your products?

The thing that might kill those is hype and inflated demands. Yahoo Answers was an excellent idea to let the human voice and communication patterns prevail over algorithmic results. It failed when all that it was measured against was the amount of users and interactions in the database. This is when the quality was thrown out the window and How is babby formed got through without a blip on the QA radar.

Let’s hope that Be my Eyes will survive the first spike of attention and get some support of people who are OK with a small amount of users who thoroughly want to help each other. I’d like to see that.

http://christianheilmann.com/2015/01/19/be-my-eyes-my-brain-my-second-pair-of-eyes/


Andrea Marchesini: RequestSync API

Понедельник, 19 Января 2015 г. 19:01 + в цитатник

Last week a new API just for B2G certified apps is landed in mozilla-central: RequestSync API. The basic purpose of this API is to allow apps to schedule tasks, while also letting the user decide when these tasks have to be executed.

Consider the following example: your mail app wants to synchronize your mailbox regularly.

Here is what it does:

navigator.sync.register('mail-synchronizer',
                        { minInterval: 120 /* 2 minutes */,
                          oneShot: false,
                          data: { accountID: 123 },
                          wifiOnly: true,
                          wakeUpPage: location.href }).then(
function() {
  console.log("mail-synchronizer task has been registered");
},
function() {
  console.log("Something bad happened.");
});

Through this process, the app has registered a new task, called ‘mail-synchronizer’. It will be scheduled every 2 minutes if the device is connected to the wifi. As you can see, the second parameter of the register method is a configuration object. Here are some more details:

  • minInterval is the number of seconds between 1 execution of the task and the next. This is not entirely precise, but it’s an indication for the RequestSyncService. It can happen that the device may be busy doing something, and this task may be postponed for a while.

  • oneShot: boolean. If we want just 1 execution of the task, we should set it to “true”.

  • data: this can be anything. It’s something useful for the app.

  • wifiOnly: by default it is true and it informs the RequestSyncService about the fact that this task must be executed only if we are using a wifi connection.

  • wakeUpPage: this is the page that will be activated when the task is about to be executed.

Register() method returns a Promise object and if called more than once, the app overwrites the previous task configuration.

In the navigator.sync object there are other methods: unregister(), registrations() and registration(), but we can skip them for now.

When the task is executed, the wakeUpPage is activated and it receives a message in this way:

navigator.mozSetMessageHandler('request-sync', function(e) {
  ...
});

the message contains this attributes:

  • task - the task name. In our example this will be ‘mail-synchronizer’.

  • data - what we sent in the registration: { accountID: 123 }.

  • lastSync - This is a DOMTimeStamp containing the date/time of the last execution of this task.

  • minInterval, oneShot, wifiOnly, wakeUpPage - these attributes will be the same as what we set during the registration.

Now, back to our example, the synchronization of the mailbox may take a while. In order to help RequestSyncService to schedule tasks correctly, and to keep the device alive for the all operation (we internally use a CPU wakelock) the mail app may do an operation like this:

navigator.mozSetMessageHandler('request-sync', function(e) {
  // The synchornization of the mailbox will take a while.
  // Let's set a promise object and resolve/reject it when needed.
  navigator.mozSetMessageHandlerPromise(new Promise(function(resolve, reject) {
    do_the_magic_synchronization(resolve, reject);
   }));
});

Setting a message handler promise, we know that the device will be kept alive until the promise is not resolved or rejected. Furthermore, no other tasks will be executed in the meantime (this is not properly correct, because if the promise takes more than a few minutes to be resolved/rejected, RequestSyncService will continue scheduling other tasks).

As far as the settings app is concerned, the RequestSync API has also a manager of tasks available only for certified apps with a particular permission, but reality just the settings app will have this permission.

Using the requestSync API, the settings app is able to do:

navigator.syncManager.registrations().then(
  function(results) {
     ...
  }
);

In this piece of code, results is an array of RequestSyncTask objects. Each object is an active task with attributes such as lastSync, wakeUpPage, oneShot, minInterval, wifiOnly, data, and task, the name. From this object the settings-app can change the policy to this task:

for (var i = 0; i < results.length; ++i) {
  if (results[i].task == 'mail-synchronizer' &&
      results[i].app.manifestURL == 'http://the/mail/app/manifest.url') {
    results[i].setPolicy('disabled');
  }
}

setPolicy receives 2 parameters, the second one is optional:

  • state, this is the new state of the task. It can be enabled, disabled or wifiOnly.

  • overwrittenMinInterval: a new minInterval value.

This is all. Any feedback is welcome!

http://143th.net/post/108551021821


Axel Hecht: On the process to code

Понедельник, 19 Января 2015 г. 19:00 + в цитатник

gps blogs a bunch about his vision on how coding on Firefox should evolve. Sadly there’s a bunch of process debt in commenting, so I’ll put my comments in a medium where I already have an account.

A lot of his thinking is based on Code First. There’s an earlier post with that title, but with less content on it, IMHO.

In summary, code first capitalizes on the fact that any change to software involves code and therefore puts code front and center in the change process.

I strongly disagree.

Code is really just one artifact of many of creating and maintaining a software product.

Or, as Shane blogged,

First rate hackers need process too

Bugzilla is much more than a review tool, it’s a store of good and bad ideas. It’s where we document which of our ideas are bad, or just not good enough. It’s where we build out our shared understanding of where we are, and where we want to be.

I understand how gps might come to his conclusions. Mostly because I find myself in a bucket that might be like his. Where your process is really just documenting that you agree with yourself, and that you’re going forward with it. And then that you did. Yeah, that’s tedious and boring. Which is why I took my hat as module owner more often lately, and landed changes without a bug, and with rs=foopy. Old guard.

Without applying my basic disagreement to several paragraphs over several posts, some random notes on a few of gps’ thinking and posts:

I agree that we need to do something about reviews. splinter’s better than plain text, but not quite there. Github PRs feel pretty horrible at least in the way we use them for gaia. As soon as things get slightly interesting, no status in either the PR nor bugzilla makes any sense anymore. I’m curious on MozReview/reviewboard, though the process to get things hooked up there is steep. I’ll give it a few more tries for the few things I do on Firefox, and improvements on code and docs. The one time I used it, I felt very new.

Much of the list gps has on process debt are things he cares about, and very few other people. In particular newcomers won’t even know to bother, unless they happen to across that post by accident. The other questions are not process debt, but good things to learn, and to learn early.

https://blog.mozilla.org/axel/2015/01/19/on-the-process-to-code/



Поиск сообщений в rss_planet_mozilla
Страницы: 472 ... 114 113 [112] 111 110 ..
.. 1 Календарь