Kat Braybrooke: Farewell Mozilla, Cze's'c Europe! |
Sad news, exciting beginnings: This Friday will officially be my last day working at Mozilla in Vancouver.
This is where the sad part comes in. I’ve had a truly amazing year being back home in Vancouver, and it is very hard to leave. The two years I spent working on Mozilla’s Webmaker project in London and in Vancouver were fascinating, challenging and fun. In every project, from Community Literacies to Hive Vancouver, and from teaching the web to starting #ARTOFWEB, I found myself continually amazed at the passion and talent of the Mozilla employees and community members I was fortunate enough to hack with, create with, laugh with and break the Internetz with.
And now, the exciting part. In a few weeks, I’m moving back to London for a few more European adventures before a return to my first love, radical research - much of it inspired by the open tech communities I’ve been lucky enough to be a part of over the past few years. This autumn, I’ll start doctoral research in the UK to examine the creative roles that hacker cultures are playing at shared machine shops (from makerspaces to tech studios) which are now emerging in cultural heritage institutions in Canada, the UK and the Netherlands.
Until then, I’m looking forward to going back into consulting. I’m open to taking on small contracts with value-based projects that aim to make the world a better place, so if you need help with web development, curriculum design, participatory research or community curation, please get in touch via @codekat on Twitter.
London, I’ll see you (and dance to your music) very soon. And Vancouver, my love, I’ll always be around. I’ll continue serving as Education Co-chair on the Maker Foundation Board of Directors, and from our first Maker Education Salon of 2015 this March to Mini Maker Faire this summer, there’s a already lot to look forward to this year, international borders be damned! I’m very excited for the crazy new ideas and community-led developments yet to come.
|
Will Kahn-Greene: Input status: February 4th, 2015 |
Since the last status report, we did a year-in-review and probably some other emails, so I figured I'd hold off on a status report until mid-January. I missed that by a couple of weeks.
High-level summary:
Thank you to contributors!:
Landed and deployed:
Current head: d3fe0fc
That's it!
http://bluesock.org/~willkg/blog/mozilla/input_status_20150204
|
Stormy Peters: Speak their language: communicate in the right tool |
One of the best pieces of advice I got was “Find out if they are an email person or a phone person and communicate with them that way.” These days you have to add text messages, hangouts, whatsapp, irc, etc to the list, but the same principle holds true.
I’ll give you an example of how this can go wrong if you don’t “speak the right language.” Someone recently called the GNOME Foundation Board and identified themselves as press and asked to speak to me. Note that the board doesn’t have a phone. It’s just a virtual mailbox because organizations are supposed to have phone numbers.
If he had emailed the list, I’m confident he would have been forwarded on and gotten an answer (or been told no) within 24-48 hours. Instead he called.
I read about it in the board meeting minutes.
Here’s an overview of the proposed agenda/topics for this meeting:
* Adboard meeting at FOSDEM 2015
* Next steps for the Outreach Program
* Responding to a phone press inquiry asking to reach S. Peters
I replied back that if he was looking for me, he should be able to find my contact information easily on the web but that they were welcome to forward him to me or to the press list. Now note that they can’t forward it. It’s a voice mail in a virtual voice mail box.
So the next week I read in the minutes:
Deferred:
* Responding to a phone press inquiry asking to reach Stormy Peters
* Comment from Stormy: “There is a press mailing list to deal with press inquiries. And if they are looking for me, they should be able to find me but you are welcome to point them my way.”
* ACTION: maybe Rosanna can check with the caller to see what he wants and see if we need to get back to him by press contact, or if he really wanted to reach Stormy in particular?
Now, before you say how absurd, why didn’t they call him back, I want you to think back on all your communications over the past week. If you are like most people, I bet there’s at least one email, text message or voice mail you haven’t answered yet. And one of those unanswered messages is probably in a medium you don’t like to use much. People that know you well, know whether to send you a text message or an irc ping if they need a quick answer from you.
I think this is especially important when it comes to team communications.
If your team usually communicates over mailing lists and irc, and you set up a video meeting, does that fit their culture? If you set up an irc meeting, does that fit their culture? And if not, are you purposely trying to drive cultural change? Did you tell them that?
I tried holding all my extended team meetings as irc meetings instead of video meetings last year in order to involve more volunteers. It didn’t work. I’m guessing it’s either the meetings themselves that are either not in the culture or the meetings were not useful or our internal structure of teams didn’t match what volunteers thought of as projects.
Project communication goes beyond meetings and includes things like announcements, discussions and decisions. Should announcements be emails from a single person or newsletters or blog posts in your project’s culture? Should discussions happen on irc or mailing lists? Should they be logged? Should decisions be made on mailing lists, in meetings or in bug tracking tools?
How does your team communicate? How do you change those channels when you need to? Or can you?
Related posts:
|
Mozilla Release Management Team: Firefox 36 beta5 to beta6 |
Similar to beta5 in term of number of changesets, we landed a fix for bug 1124249 which was causing about 12% of the crashes in beta, some fixes on the new Tablet UI for fennec and, last but not least, a few important fixes for video and MSE landed in this beta (examples: bug 1123535 & 1126465).
Extension | Occurrences |
cpp | 31 |
java | 12 |
h | 8 |
js | 7 |
xml | 4 |
list | 4 |
html | 3 |
build | 3 |
webidl | 2 |
ini | 2 |
xhtml | 1 |
mn | 1 |
jsm | 1 |
ddf | 1 |
Module | Occurrences |
dom | 25 |
mobile | 19 |
toolkit | 10 |
layout | 5 |
widget | 4 |
js | 4 |
gfx | 4 |
browser | 3 |
testing | 2 |
media | 2 |
docshell | 2 |
List of changesets:
Matt Woodrow | Bug 1120128 - Implement blacklist for DXVA and blacklist AMD Radeon HD 5800. r=Bas, a=sledru, ba=gavin - 914ded138557 |
Jon Coppeard | Bug 1110931 - Don't walk the free list in minor GC marking as the background sweeping thread may be modifying it. r=terrence, a=abillings - d954028bddad |
Dan Gohman | Bug 1125734 - IonMonkey: Completely disable the MakeLoopsContiguous optimization for loops made unnatural by OSR. r=jandem, a=abillings - bbdf662015c0 |
Brian Hackett | Bug 1125389 - Fix NewReshapedObject to use the old shape's data. r=jandem, a=abillings - 26d78b7b0bfa |
Milan Sreckovic | Bug 1122722 - Clean up asserts for compositor threads. r=nical, a=abillings - 1ec36b2a9775 |
Edwin Flores | Bug 1092370 - Tighten up MP3FrameParser. r=cpearce, a=abillings - 03be92be95c2 |
Marco Bonardo | Bug 1117072 - updatePlaces can mistakenly overwrite typed and hidden attributes of a page. r=ttaubert, a=sledru - 85a7c4ca81f9 |
Jeff Muizelaar | Bug 1099074. Don't enable D2D1.1 with non-OMTC. r=bgirard,a=sylvestre - fff54c008d7d |
Jet Villegas | Bug 1125621 - Remove https://* restriction from the YouTube MSE check. r=kinetik a=sledru - db97d9b88b1a |
Chris Pearce | Bug 1123535 - Run MediaDecoderReader::ReleaseMediaResources on decode task queue. r=jwwang a=sledru - 0280782f6bac |
Chris Pearce | Bug 1123535 - Make MP4Reader and WMFMediaDataDecoder support going dormant. r=kentuckyfriedtakahe a=sledru - e884a5b5ff18 |
Chris Pearce | Bug 1123535 - Enable dormant heuristic for MP4Reader. r=kentuckyfriedtakahe a=sledru - f94e2c0e2971 |
Chris Pearce | Bug 1123535 - Don't hold decoder monitor while calling PreReadMetadata. r=kentuckyfriedtakahe a=sledru - 1192f29eb59a |
Milan Sreckovic | Bug 1124249: Make sure we want accelerated canvas before going to SkiaGL. r=jrmuizel a=sledru - 32bcf9383cee |
Ralph Giles | Backed out 4 changesets (Bug 1123535) for debug asserts on Windows 7&8. r=me, a=bustage. - bbc98a8c8142 |
Jared Wein | Bug 1122101 - /whatsnew tour for Hello in 36 with an exception. r=MattN a=sylvestre - 24133abc4f8d |
Seth Fowler | Bug 1128229 - Add fuzzy annotations to tests that depend on imgFrame::Optimize being called on Android. a=test-only - 58a64dbc82f1 |
L. David Baron | Bug 891347 - Make Bug 385526 crashtest appropriate for use in the reftest/crashtest harness. r=mats, a=test-only - 01d047565daa |
Nick Alexander | Bug 1107134 - Disable GeckoView independence testing due to Classycle inlining bug. r=ckitching, a=sledru - 663d2c344792 |
chiajung hung | Bug 1096632 - Add a null check in case webgl app calls to glTexImage( |
Richard Newman | Bug 1124492 - Allow for distribution intent processing to occur after first use. r=margaret, a=sledru - 2dd8d79e19e4 |
Jim Mathies | Bug 1126164 - Avoid setting clip regions on plugin windows if the same clip region was already set. r=roc, a=sledru - e32f606d51e3 |
Margaret Leibovic | Bug 1089653 - Make sure the search activity hasn't been destroyed before touching views in onAnimationEnd. r=mfinkle, a=sledru - 734264bcd6d1 |
wesj | Bug 1113658 - Disable parental control logging on Android. r=mfinkle, a=sledru - ea6cff5fd829 |
Gijs Kruitbosch | Bug 1109757 - Expose update channel and buildID to about:support data gathering. r=MattN, f=cww, f=gavin, a=sledru - f402bfa9a35e |
Edwin Flores | Bug 1127115 - Make MP4 parser assertion non-fatal. r=ajones, a=sledru - c76f32421541 |
Andreas Pehrson | Bug 1117295 - Always allow a SourceMediaStream track to end if it exists. r=roc, r=jesup, a=sledru - f3b474a7e351 |
Andreas Pehrson | Bug 1117295 - Don't finish the source stream in MediaEngineDefault::Stop due to racy behavior. r=jesup, a=sledru - 89994d9c2522 |
Boris Zbarsky | Bug 1127206 - Don't try to do binding UnwrapArgImpl on worker threads. It can't do anything useful there. r=peterv, a=abillings - 63e9ce6a9a45 |
Bobby Holley | Bug 1127203 - Rename aError to aTolerance. r=mattwoodrow, a=sledru - 08954688351c |
Bobby Holley | Bug 1127203 - Be more consistent about when and how we apply the fuzz factor. r=mattwoodrow, a=sledru - 3dc1818e2427 |
Bobby Holley | Bug 1127203 - Use the tolerance value in TrackBuffersContainTime so that seeking operates with tolerance too. r=mattwoodrow, a=sledru - 858dc45e6536 |
Bobby Holley | Bug 1127203 - Disable mediasource-play-then-seek-back.html.ini. a=sledru - e98376bbdf79 |
Martyn Haigh | Bug 1109155 - Gridview doesnt show the last row completely on portrait. r=mfinkle, a=sledru - bc4e060096bd |
Martyn Haigh | Bug 1110149 - [Tablet] Insert vertical divider between back button and normal browsing button in Tabs Panel. r=mcomella, a=sledru - f308adc4e97c |
Michael Comella | Bug 1127154 - Use new_tablet_url_bar_nav_button styles on LWT change in NavButton. r=mhaigh, a=sledru - 25a28c2481d2 |
Chris Double | Bug 1112424 - Part 1: Add moz specific methods to retrieve debug data to media object IDL. r=bz, a=sledru - cba5f9bfe66c |
Chris Double | Bug 1112424 - Part 2: Implement MediaSource methods to return debug information for about:media. r=ajones, a=sledru - 763b9cbd7164 |
Chris Double | Bug 1112424 - Part 3: Add size of the resource to the output. r=ajones, a=sledru - 68c3b8df1065 |
Chris Double | Bug 1112424 - Part 4: Add an about:media page to show debug information about active HTML media elements. r=gavin, a=sledru - 23b7a843e75d |
Bobby Holley | Bug 1126465 - Stop invoking On*NotDecoded when we didn't actually go through the promise. r=mattwoodrow, a=sledru - dbb452162854 |
Bobby Holley | Bug 1126465 - Don't leave stale value in mPendingSeek when there's no audio track. r=mattwoodrow, a=sledru - ebd1573c5911 |
Bobby Holley | Bug 1126465 - Make ThenValueBase inherit from a publicly-usable type, and refcount it. r=mattwoodrow, a=sledru - 6e44bfd1e0f8 |
Bobby Holley | Bug 1126465 - Introduce machinery to hold onto MediaPromise::Consumer references, and use it for MediaSourceReader subdecoders. r=mattwoodrow, a=sledru - 54d7f88c8b75 |
Bobby Holley | Bug 1126465 - Implement the ability to disconnect outstanding promises. r=mattwoodrow, a=sledru - 29c741d65b11 |
Bobby Holley | Bug 1126465 - Cancel sample requests when seeks start, disallow them while seeks are happening, and assert against seeks when samples arrive. r=mattwoodrow, a=sledru - 26df0dd2cceb |
Bobby Holley | Bug 1126465 - Pass consistent arguments to RequestVideoData invocations on subdecoders. r=mattwoodrow, a=sledru - 5daace5690d6 |
Bobby Holley | Bug 1126465 - Factor out calls to Request{Audio,Video}Data into a helper method. r=mattwoodrow, a=sledru - e76764c0e076 |
Bobby Holley | Bug 1126465 - Factor out the seeking phases into helper methods. r=mattwoodrow, a=sledru - cc2a8374de88 |
Bobby Holley | Bug 1126465 - Use a MediaPromiseConsumerHolders to track subdecoder seeks. r=mattwoodrow, a=sledru - 169b4de5b199 |
Bobby Holley | Bug 1126465 - Make redundant-seek use longer timeouts. a=sledru - 361d53acbf3a |
Jean-Yves Avenard | Bug 1128410 - Lazily allocate the MP4 parser buffer. r=kentuckyfriedtakahe, a=sledru - cd4ce87ac395 |
Jean-Yves Avenard | Bug 1128410 - Make memory allocation dynamic. r=kentuckyfriedtakahe, a=sledru - 08a02585bc60 |
James Willcox | Bug 1123084 - Always deallocate SharedSurface on the client. r=nical, a=sledru - 47e26f891d66 |
http://release.mozilla.org/statistics/36/2015/02/04/fx-35-b5-to-b6.html
|
Ben Kero: My Gear Post |
Whenever I encounter people as I travel, they are often curious about my luggage. It seems to be invisible. They’ll often ask where my bag is, assuming that it must have gotten lost in transit. Their eyes go wide and confusion sets in when I tell them that the bag on my back is the only one.
It is my estimation that at least some people would be curious about what gear I travel with. They ask how I’m able to pack all the necessities into such a small space. There is no great secret to traveling light. All it takes is a little research and compromise in creature comforts. If you have browsed the postings of other nomadic hackers, there might be little to be gleaned from this post. Here’s a basic rundown, with almost each article deserving its own article.
It should go without saying that nobody paid for me to write this post, and likewise nobody as sent me any products to test.
Tom Bihn Synapse 19L backpack. This backpack is the key to fitting everything. Unlike conventional backpacks, the pockets in this one intrude less on the space of other pockets. The pack is lightweight, durable, and has the incognito look of your grade school Jansport backpack. Although it lacks a laptop pocket, instead it has a system of hooks and rails to keep a separate neoprene case in place. I found Bihn’s neoprene cases to be far too bulky for serious use. Instead, there is a small elastic sub-pocket in the main pack cavity that can be used instead. The pack has a central water bottle pocket, which is ideal for a collapsible water bottle. Their small clear document organizer pouch is the perfect size for passports, travel docs, and accumulating receipts. The under-bag storage is ideal for keeping all my clothes and a pair of sandals.
Lenovo Thinkpad X240. Lenovo must have made a deal with the devil to get a device with this much battery life. It has an internal 24Wh battery and an external 3-cell or 6-cell 72Wh battery at the back. I often get a marathon day of heavy usage, or two days of lighter usage without charging. This model is a new re-design from Lenovo. Unfortunately for this model, Lenovo decided to remove the Trackpoint mouse buttons. This made a lot of Thinkpad users grumpy, so Lenovo added the buttons back to the X250. Linux runs swimmingly on this laptop with almost everything working out-of-the-box.
Etymotic hf-2 Canalphones. These canalphones offer excellent sound reproduction, and have an integrated microphone. The microphone also has a button for controlling playback on an Android device. The noise insulation of these canalphones is close dedicated earplugs. They come with several different tips to find the best fitment. Although they can be uncomfortable at first, they are unnoticeable after finding the ideal tips. Custom ear-molded ones are also available.
Nook Simple Touch E-Book Reader. This is what I bring instead a tablet. I like the read-anywhere e-ink screen, open source hackability, and long battery life. Left suspended this device can last for months on a single battery charge. It can be hacked to run other Android apps, including a VNC server to tether to the tablet as a second screen. Unlike a Kindle I don’t need an account anywhere, and it can read EPUB files.
Dr Bronner’s Magic Hippie Peppermint Soap. My name for these products aside, they do an excellent job at cleaning anything. This soap is more concentrated than regular liquid soap. The result is that a single squirt is enough for a complete shower. Likewise, a small dab will also do an entire load of sink laundry. I’ve also been meaning to try out their soap bar.
GoToob Travel Bottles. These little bottles are for storing various liquids, usually toiletries. The’re made of a pleasant soft silicone material, and come in 2oz (nice) and 3oz sizes. My initial experiments show the lid has problems staying on under stress. If I were to pack again I’d rather keep the Dr Bronner’s in its original container, and get a small shampoo container.
Vapur Element 0.7L Water Bottle. I find this bottle to be just the right capacity of water. It is collapsible, which means when not full, the extra air can be squeezed out to make it smaller. Likewise when it is empty, you can fold it up and secure it with the attached carabiner. After about a year of use the only wear is the blue sticker is starting to separate.
Uniqlo Airism Boxer Briefs. Unlike all the other wool you see on this list, these things are 100% synthetic. Their fitment is top-notch, and they don’t ride up your legs, unlike a lot of other undergarments. They’re also inexpensive considering their quality. Unfortunately they’re not as anti-odor as Icebreaker boxer-briefs. They also tend to restrict certain delicate anatomy.
Wool & Price Better Button Down shirts. I carry one or two of these with me everywhere. These are my favorite shirts. Most of their patterns can serve formal and informal duties. They can be donned to formal events and at a neighborhood pub. They are 100% wool, so they are anti-wrinkle and anti-odor. Their one down size is that they tend to smell a bit sheepish when wet.
Icebreaker Wool Pants. These are pretty conservative brown pants. They don’t have obnoxious pockets, zippers, and logos all over the place. Alas, they do have a bit of the irritating external stitching, but it does serve a worthwhile purpose on these. The stitching allows the front pockets to be fixed, which means no more backwards-facing front pockets when putting on pants. Although they are a wool blend, they keep most of the excellent anti-odor and anti-wrinkling properties.
Icebreaker Multisport Ultralight Mini Socks. These socks are nice and soft, and come with a lifetime guarantee against holes. I’ve had these long enough to figure out why: the webbing is made of a much stronger material than the wool, so although the wool on the bottom of the socks will wear off, the elastic webbing will not. Still, they’re good in hot and cold weather, can be washed in the sink, dry quickly, and keep you warm even when wet.
PackTowl Nano Lite Towel & Large Towel. These towels are excellent travel compansions. The pocket towel can double as a washrag and resists stains despite its bright color. The “large” towel is still pretty small, but is lightweight and folds up to about the size of two decks of cards. Both towels are quick-drying and resist odors.
Clark’s Desert Boots. In the beeswax color these are formal and and informal enough to wear anywhere. Like most shoes, they are not without their problems. For example, they pinch the upper foot due to the position of the lacing. There is little to be done about it. They also do a poor job insulating against rain. Additionally the interesting crepe bottom wears out faster than usual shoe rubber. All that said, they do look and feel excellent. Nonetheless, I’m looking for better alternatives.
Leatherman Style PS. This is a small travel-friendly multitool. I take it through airports all the time, although save time by taking it out of my bag before X-ray. I’ve been flying with it for about a year now with no overeager TSA agents confiscating it. It is the only tool that I need to disassemble my laptop.
Let me know if this post was useful for you. Likewise, let me know if you have some tips on something that might work better for me.
|
Rail Aliiev: Deploying your code from github to AWS Elastic Beanstalk using Travis |
I have been playing with Funsize a lot recently. One of the goals was iterating faster:
I have hit some challenges with both Travis and Elastic Beanstalk.
The first challenge was to run the integration (actually end-to-end) tests in the same environment. Funsize uses Docker for both hacking and production environments. Unfortunately it's not possible to create Docker images as a part of Travis job (there is a option to run jobs inside Docker, but this is a different beast).
A simple bash script works around this problem. It starts all services we need in background and runs the end-to-end tests. The end-to-end test asks Funsize to generate several partial MAR files, downloads identical files from Mozilla's FTP server and compares their content skipping the cryptographic signature (Funsize does not sign MAR files).
The next challenge was deploying the code. We use Elastic Beanstalk as convenient way to run simple services. There is a plan to use something else for Funsize, but at the moment it's Elastic Beanstalk.
Travis has support for Elastic Beanstalk, but it's still experimental and at the moment of writing this post there were no documentation on the official website. The .travis.yml file looks straight forward and worked fine. The only minor issue I hit was long commit message.
# .travis.yml snippet deploy: - provider: elasticbeanstalk app: funsize # Elastic Beanstalk app name env: funsize-dev-rail # Elastic Beanstalk env name bucket_name: elasticbeanstalk-us-east-1-314336048151 # S3 bucket used by Elastic Beanstalk region: us-east-1 access_key_id: secure: "encrypted key id" secret_access_key: secure: "encrypted key" on: repo: rail/build-funsize # Deploy only using my user repo for now all_branches: true # deploy only if a particular jobs in the job matrix passes, not any condition: $FUNSIZE_S3_UPLOAD_BUCKET = mozilla-releng-funsize-travis
Having the credentials in a public version control system, even if they are encrypted, makes me very nervous. To minimize possible harm in case something goes wrong I created a separate user in AWS IAM. I couldn't find any decent docs on what permissions a user should have to be able to deploy something to Elastic Beanstalk. It took a while to figure out the this minimal set of permissions. Even with these permissions the user looks very powerful with limited access to EB, S3, EC2, Auto Scaling and CloudFormation.
Conclusion: using Travis for Elastic Beanstalk deployments is quite stable and easy to use (after the initial setup) unless you are paranoid about some encrypted credentials being available on github.
|
Daniel Glazman: In praise of Tristan Nitot |
There's a high probability Tristan and I met when we were kids. We were both hanging around the same places at the same time to have access to computers. We met again during the early years of Netscape, while I was leading everything web-related at 'Electricit'e de France. Later, he was of course the first one to greet Peter and I when we joined as sherpas in november 2000.
On the 15th of july 2003, Tristan, Peter and myself were on the "special" conference call about a "reorganization". In the next minutes, all our colleagues from the US sent a farewell message and Netscape was no more. After the summer break, Tristan, Peter and myself met at Peter's apartment in Paris to discuss our future. I suggested to take advantage of the OSS nature of Mozilla and launch a software company, but Tristan and Peter had only one idea in mind and it was already called "Mozilla Europe"... I eventually launched "Disruptive Innovations" alone while they remained focus on their project.
Tristan and Peter worked incredibly hard to achieve that, giving Mozilla a unique and powerful presence on the Old Continent. After the official launch of Mozilla Europe, Tristan became ubiquitous. He was so present in European media I started the Tristant-Nitot-Tracker as a joke. Newspapers, Web magazines, radios, television channels, there has not been a single day between 2003 and 2011 without multiple appearances of Tristan everywhere in Europe, and sometimes beyond. I never understood how Tristan found the time and energy to make Mozilla so visible in the media here.
The face of Mozilla Europe is - we'll soon have to say was - Tristan. There's that classic and completely stupid french proverb that says "nobody is irreplaceable"... If someone you hired is replaceable, it only means you have to improve your hiring process. Successes are built with irreplaceable people.
Tristan is irreplaceable, because he's not only giving work, skills, energy and talent. He's doing it in a way that is from my perspective unique: tons of humor in absolutely all circumstances, extreme dedication, convinced and convincing spirit, ability to discuss with absolutely anyone from geeks to politicians, outstanding spoken and written communication, indisputable loyalty, inspiring everyone.
I'm not a Mozilla employee. But Tristan has been, as Mozilla Europe's leader, a crucial person to my company. So let me thank him deeply and sincerely for all the fish he gave me, all the fish he gave us all.
Tristan, all I can say is that you now have more free time to ride your motorbike to come have lunch with me in Saint-Germain! Best of luck for the future, the coaching and the book!
http://www.glazman.org/weblog/dotclear/index.php?post/2015/02/04/In-praise-of-Tristan-Nitot
|
Emma Irwin: Community Education – Building Together |
So, yesterday I wrote an introductory post : Mozilla Community Education in 2015 with a promise to write a each day leading up to our first Community Education Working Group Call on Thursday. I wrote about our vision for Community Education as core to the virtuous circle in Mark Surman’s vision , and how the strength and leadership of the Mozilla Reps will act as a launching pad for participation across, and well beyond the project. Today I want to talk about a vision for virtuous circle of education & learning at Mozilla.
But first, for context – how we’ll be working:
“Volunteers who understand Mozilla’s top-level goals feel they have a bigger impact with their contributions”.
– David Eaves Contributor Survey of Mozilla Community
The Mozilla Reps program will be initiating specialized groups for participation. It might sound a lot like a previous Reps initiative: Special Interest Groups (SIG), and on the surface that’s understandable – but here’s how they will be different: these groups will be focused on targeted delivery of functional area goals. Education & curriculum lending to this success will be curated in partnership with product teams, and their goals. We can’t seem to pick a name for these groups – suggestions?
These will be leadership groups, modeled similarly to the Reps program itself, with a mentorship structure to scale. Because, this too is a launchpad, group participation needs to expand well beyond reps to be successful.
We talked a lot about Pilots in Portland, but we’re just as likely to call these ‘experiments’ because we’re still learning what works. Right now Pilots are simply time-bound initiatives initiated by request of functional areas, and executed by their Functional Group. Education & Curriculum will mobilize teams to have the impact product teams need. Curriculum in many cases will need to be localized ( so if you are interested in localizing learning content, please let me know!)
image credit: Robyn Jay
In the last month, I’ve spoken with many leaders of Education at Mozilla – amazing people like Laura Hilliger, Janet Swisher, Diane Tate and Hoosteeno (you should read this post on Learning Experiments on MDN), all expertly working in this space of curating and delivering content; their teams already successful at pushing product success through the opportunity of education.
What I’m recognizing is that Community Education can also connect virtuous circle between our teams, with community and with external organizations like Open Hatch. For functional area initiatives and pilots, we can leverage some of the great work of MDN with ‘Topic in a Box‘, with Webmaker we can perhaps connect and centralize efforts building content for P2PU ‘Course in a Box‘ (and beyond). With amazing Reps and contributors like Michaela Brown, and MDN learning resources, it’s actually realistic to think we can scale Open Hatch + Mozilla events at Universities. And that’s before I even get to benefits of sharing brain-power, ideas, experience – enthusiasm. So yes, I’m super excited at the potential and hope you are too.
Tomorrow: Community Education Survey, Recognition That Matters
Featured image credit: Stephen Burton
|
Emma Irwin: Mozilla Reps Council AMA |
Cross-post of Majken Conner’s invitation to participate in the first Mozilla Reps Council AMA. Come ask us questions this Thursday!
This Thursday, launching during the Reps call, council will be doing a 24h
AMA. They’ll be using Discourse, so you only need your Persona account, no
need to sign up to Reddit to post. You won’t need to log in to read the AMA.
For those of you that haven’t done an AMA before, AMA stands for “Ask Me
Anything.“, made popular by the SubReddit. It’s a way to get to know someone, usually a way to find out
what it’s like to have a certain job. The AMA is your chance to get to know
the individual council members as people, and also to understand what it’s
like to actually be on council. Silly questions are ok, if you’ve always
wanted to know what Emma’s favorite colour is, now’s your chance to ask!
Remember to be respectful though, don’t ask something that will probably
make someone uncomfortable.
They’ll be keeping track of suggestions and discussions that should be
continued outside of the AMA so that they aren’t lost when the event is
over. Debates over problems with the program or changes to how it should be
run will need more than 24 hours and deserve to be highlighted properly.
The AMA will take place here –
https://discourse.mozilla-community.org/c/reps/council-ama (you’ll be able
to access it on Thursday)
To ask a new question you should start a new topic. Discourse admins will
be on-hand to help split out sub-conversations into new threads.
If you want to ask all of council a question, you can address them by
typing @repscouncil – Discourse editor will substitute this text with their
individual usernames. You can also use @ to address a single council
member, @emma_irwin will notify Emma that you’re addressing her
specifically.
I don’t believe the entire council will be available at once, but we should
have at least 1 council member available at any time over the full 24h to
make sure responses come quickly.
Please help me build an FAQ by asking any questions you have here –
https://remo.etherpad.mozilla.org/council-AMA-FAQ – and add +1 to any
questions you had that are already listed.
image credit: Ed Schipul
|
Doug Belshaw: Digital Literacy and Web Literacy on Wikipedia |
Yesterday, from some random internetting, I found that my namesake, Doug Belshaw, was reasonably well-known climber and member of the Rock and Ice Club in the 1950s. So I did what anyone would do and searched Wikipedia for him. That’s when I stumbled on the fact that my own work is cited on the Wikipedia page for Digital Literacy. Nice!
The Core Elements and their educational effects
Literacies can be grouped together in what is known as the Essential Elements of Digital Literacies which expounds the theory that having an understanding of these eight essential elements of digital literacies will enable an individual to be digitally literate. The development of these core skills correlated to the particular contexts in which an individual may develop their skills with a view to ensuring that they align with their needs. The eight elements are Cultural, Cognitive, Constructive, Communicative, Confidence, Creative, Critical and Civic. The value of each of these core elements is dependent on varying needs at different times.
- Cultural - The cultural element of Digital Literacies requires technology use in different contexts and an awareness of the values and concepts specific to the varying contexts.
- Cognitive - The cognitive component of Digital literacies aims to enable mastery of the use of technological tools, software and platforms. Gaining expertise in digital tools helps learners become more digitally literate.
- Constructive - The constructive element requires re-using and remixing existing resources depending on the need; or adapting them into new resources. Through construction, a digitally literate user creates new data and shares their creations with others digitally.
- Communicative - The communicative component requires awareness about different communication devices both digital and mobile. Being digitally literate means communicating in the digital world in several ways.
- Confidence - The confidence element of Digital Literacy means gaining competence with digital technologies and the ability to create an environment for practising skills and self-learning.
- Creative - Through the Creative element of Digital Literacy, digital learners create new data in digital environments based on personal interests. This element places emphasis on taking risks while developing searching skills and producing new things.
- Critical - The critical component requires the digital learner to develop various perspectives. While actively taking part in digital environments, the user should take different circumstances into account.
- Civic - The civic element is all about developing and acquiring the concepts of democracy and global citizenship through digital technologies. This component helps the participation of the individual in society. Part of digital literacy is the ability to form communities online.
It is recognised that the implementation of these elements in an individual’s context will require constant updating and upgrading as digital information and tools change along with our understanding of them.
There’s a couple of inaccuracies that need fixing, and I’ve made some other suggestions on the Talk page. If you’re familiar with editing Wikipedia, it would be great to have your help. I don’t want to be egotistical and edit a section that references my own work!
This find spurred me on to create what’s known as a ‘stub’ article on Wikipedia for Web Literacy. I’d like to have several people quickly build this out so it’s not just me banging on about the importance of the topic! Feel free to dive into the Talk page, and/or discuss with the Mozilla community in this GitHub issue.
What would be particularly useful is a trawl of Google Scholar and other search engines for notable mentions of 'web literacy’. These should be added to an External Links section underneath References. Please do help - even for five minutes. :)
Comments? Questions? Get in touch via Twitter (@dajbelshaw) or email (doug@mozillafoundation.org
|
Armen Zambrano: What the current list of buildbot builders is |
>>> from mozci import mozciThis and many other ways to interact with our CI will be showing up in the repository.
>>> builders = mozci.list_builders()
>>> len(builders)
15736
>>> builders[0]
u'Linux x86-64 mozilla-inbound leak test build'
|
Air Mozilla: Webdev Extravaganza: February 2015 |
Web developers across the Mozilla community get together (in person and virtually) to share what cool stuff we've been working on.
|
Bill Walker: Highlights of the first Web Audio Conference |
I recently had the pleasure of attending and presenting at the first Web Audio Conference, co-sponsored by IRCAM and Mozilla. I wanted to share some of the great things that I learned about there.
Meyada is a library for computing various properties of an audio signal, including various measure of perceived loudness. These measures are great for creating visualizations that users perceive as correlated with sounds. Hugh used them to make live visualizations inside his talk slides, very slick.
Csound is a well-established programming language for generating and manipulating sound. Because it is written in standard C and has very few platform dependencies, it is an ideal candidate for cross-compilation with Emscripten and asm.js. The authors noted that the resulting code was not as fast as the PNaCL version they created, but that it was plenty fast enough to render many sounds in near real-time, and currently has a better cross-platform story.
Csound traces its lineage back to the MUSIC-N languages originated by Max Mathews at Bell Labs in 1957. Chris’s talk showed both how much has changed since then and how the fundamental ideas from MUSIC-N endure.
Kyle Stetz described a very opinionated system he built for controlling live music by writing code in the Google Chrome Console window. He put his ideas on the line by doing a live demo in front of us, which was quite well-received. Although the system may not generalize to all styles of music, I think we all admired his clarity of purpose and great presentation.
HyperAudio is a clean, simple UI for searching, browsing, and excerpting videos with spoken word audio, especially speeches and debates. The experience does rely on the hard work of creating transcripts of the audio with very accurate timings; as automation makes that process easier, tools like HyperAudio will change the way ordinary people relate to video.
Jason Freeman and his colleagues at Georgia Tech brough a unique perspective to WAC. Instead of concentrating on how to use web technology to make music, they are interested in how to use web-based music tools to teach fundamental computer science concepts. When they use these techniques with high school students, they can show a significant increase in the number of traditionally under-represented groups in computer science.
The Tomb of the Grammarian Lysias, Ben Houge
The evening of the second day of the conference featured six different “Web Gigs”, which were participatory musical experiences designed around many mobile phones in a concert space with a centralized coordinator and sound system. In my opinion, the most successful of these was Ben Houge’s The Tomb of the Grammarian Lysias. The piece consists of solo vocalist singing an ancient poem in the original greek accompanied by snippets of vocal sounds. The accompaniment is played through the mobile phone speakers of everyone in the room, under the composer’s control. The carefully designed sounds emanating from dozens of speakers throughout the room gave a wonderfully diffuse, ethereal quality to the piece, while his clear singing voice provided a visceral, earthy contrast to all the technology involved.
http://softwarewalker.com/2015/02/03/highlights-of-the-first-web-audio-conference/
|
Jess Klein: Strategies to get over yourself and start creating |
http://jessicaklein.blogspot.com/2015/02/blank-canvas-syndrome-or-strategies-to.html
|
Byron Jones: happy bmo push day! |
https://globau.wordpress.com/wp-admin/post-new.php
the following changes have been pushed to bugzilla.mozilla.org:
discuss these changes on mozilla.tools.bmo.
https://globau.wordpress.com/2015/02/03/happy-bmo-push-day-125/
|
Yunier Jos'e Sosa V'azquez: Mejora tu experiencia de navegaci'on en Firefox con Locator Bar Enhacer |
En esta entrega profundizaremos un poco sobre Location Bar Enhacer, un complemento desarrollado por Girish Sharma, que cambia el aspecto de la barra de navegaci'on por una apariencia de migas de pan (breadcrumbs) con caracter'isticas enriquecidas e interactivas.
?Para qu'e sirve este complemento?
A primera vista una de las utilidades de este complemento es su atractivo dise~no, que permite al usuario disfrutar de una navegaci'on m'as ordenada al poder identificar el rastro de una p'agina web mostrando las URL del search bar con una apariencia de migas de pan y marcando con etiquetas interactivas los anchor tags y query strings.
Location Bar Enhacer mejora la experiencia de navegaci'on en Firefox gracias a sus caracter'isticas interactivas que facilitan la edici'on de las URL con solo hacer un clic derecho.
Por ejemplo, usuarios frecuentes de Facebook y Twitter podr'ian buscar cuentas o personas con facilidad editando 'unicamente sus nombres de usuario.
Asimismo regresar a ubicaciones espec'ificas de una p'agina web es posible gracias al historial de sub-enlaces que muestra las p'aginas m'as visitadas en un sitio web.
Este complemento muestra gr'aficamente una barra de progreso que nos indica el estatus de carga de un sitio web, la cual puede ser modificada f'acilmente en el panel de opciones del complemento.
Adem'as con su caracter'istica drag and drop podemos gestionar eficientemente nuestra barra de marcadores seleccionando 'unicamente las partes de las URL de nuestro inter'es. Los enlaces tambi'en pueden ser arrastrados en cualquier ubicaci'on como carpetas y el escritorio.
En definitiva, los beneficios que Location Bar Enhacer ofrece a los usuarios de Firefox han hecho de este complemento uno de los m'as destacados del mes de Diciembre, gracias a las mejoras que proporciona en cuanto al dise~no de la barra de b'usquedas y a sus caracter'isticas que propician una navegaci'on ordenada, personalizada y eficiente.
Si quieres conocer m'as de este complemento visita el resumen del desarrollador para explotar todas sus caracter'isticas.
Instalar Location Bar Enhacer.
Fuente: Mozilla Hispano
http://firefoxmania.uci.cu/mejora-tu-experiencia-de-navegacion-en-firefox-con-locator-bar-enhacer/
|
Tristan Nitot: Au revoir Mozilla |
TL; DR: I’m leaving Mozilla. I’m writing a book. I’m a coach. I still plan to change the world with Open Source and Free Software and the Web.
The paragraph above sums it up pretty well. In case you’re interested in a little more details, here they are:
I have decided that starting mid-February 2015, I won’t be an employee of Mozilla anymore, but I’ll keep being a Mozillian and I’ll continue working with Mozilla as an advisor.
I remember being summoned in the Netscape Europe General Manager’s office early January 1998 to discuss a surprising announcement about what would be called the “Mozilla project”, which would host the now opened source code of Netscape Communicator. I totally fell in love with this idea which I was familiar with since I had met Richard M. Stallman in the mid-80’s in Paris as I was an Emacs user. I started right away helping the Mozilla project with PR in Europe and giving talks locally. I vividly remember one of these talks at ENST engineering school in Paris. The crowd was super excited and I felt like a rock star
And the rest is history… Here are a few memorable moments:
I started managing Netscape Client developer relations in Europe from 2001 to 2003 where I helped launching the OpenWeb community project. In July 2003, AOL/Netscape/Time Warner decided to give up on the Mozilla Project and employees working on it where reassigned or let go. Soon after, Peterv and I get in touch with Mozilla community members (hi Pascal & Pike!) and we decide together to create Mozilla Europe, a non-profit to develop the European side of Mozilla.
In February 2004 at FOSDEM, in Brussels, we announce that the legal structure has been created and we launch the www.mozilla-europe.org Website (now retired), first localized Mozilla Website!
In November 2004, Firefox 1.0 is launched and is an instant hit. On the US side, Mozilla Foundation starts to see some revenue coming in thanks to T-shirt sales then the Google deal. It now can afford to financially support Mozilla Europe. In April 2005, after 21 months of unemployement, I finally receive a paycheck! Considering the state of my bank account and my stress level, it’s pretty good news!
By end 2011, it’s becoming obvious that growing Mozilla in Europe cannot be done through an independent legal structure. We decided to fold down Mozilla Europe’s legal structure and have its activities transferred to Mozilla Foundation and its subsidiaries. It’s a new chapter for the European board of Directors, but many projects that were initiated by Mozilla Europe are spreading throughout the world. for example MozCamps, Mozilla Reps and localization of products and Websites all started in Europe and are now global.
There is an issue that’s annoying me for several years: online privacy and mass surveillance. I started conversations within Mozilla around this at a time when the word “privacy” was not in the Mozilla Manifesto. I wrote blog posts on this topic. I have read thousands of articles, several books, compiled hundreds of links on my blog. I have invited the TOR Project for a work week at Mozilla in Paris. I have started a set of conferences around Internet Decentralisation to avoid surveillance. I was very happy to see Mozilla announce the Polaris project with TOR and I hope this is just the beginning for Mozilla.
But this is not enough. I think this is a very important issue that threatens democracy. I think that one of my talents is to explain complicated technical stuff to non-geeks. I have therefore decided to write a book on this topic, a book for a broad audience.
The issue for me is that it’s not compatible with a full time job at Mozilla. I had to make a choice and I have decided to focus on writing my book and leave Mozilla as an employee.
When in comes to on-line privacy and mass surveillance, people can have 3 different responses:
Of course, I’m going for the 3rd option. I am certain that the Web and Free & Open Source software can play a central role in solving the problem of vanishing on-line privacy and increasing mass surveillance. I will keep contributing to projects in this field, including Mozilla, but this time as a volunteer.
The Decentralized / Indie Web, combined with Open Source and Free Software, along with cryptography and innovative business models (other than targeted advertising as we know it) can crack the nut.
In 17 years with Mozilla, I have grown a lot and learned a lot. One of the best things I’ve learned is coaching and personal development.
In March 2012, I was invited to participate to a training called LEAD (Leadership Exploration and Development). It was a revelation to me. I was then offered to become a trainer for a similar personal development program called TRIBE . TRIBE is offered to all Mozillians, staff of not. This was a fantastic experience for me that enabled to grow. At the same time, I have been trained on the Co-Active Coaching (CTI) method and I am now a coach working with several clients. It’s an amazing experience! I plan to keep coaching a handful of people for the foreseeable future.
As I write these lines, I’m filled with gratitude for all that Mozilla has given me. It gave a meaning to my professional life. It gave me the opportunity to have an impact on hundreds of millions of people. It helped me learn new things that have changed my life for the better. It made me meet with amazingly smart, hard-working and generous people. I won’t name names, but you know who you are[1], with special thoughts for Mozilla volunteers. You’re my heroes, and I certainly plan to keep being one of yours.
[1] All right, I still need to: Mitchell Baker, Debbie Cohen, John Lilly, Peterv, Jb Piacentino, Pascal Chevrel and thousands of others.
|
Mike Hommey: Looking for a new project name for git-remote-hg |
If you’ve been following this blog, you know I’ve been working on a (fast) git remote helper to access mercurial without a local mercurial clone, with the main goal to make it work for Gecko developers.
The way git remote helpers work forces how their executable is named: For a foo::
remote prefix, the executable must be named git-remote-foo
. So for hg::
, it’s git-remote-hg
.
As you may know, there already exists a project with that name. And when I picked the name for this new helper, I didn’t really care to find a separate name, especially considering its prototype nature.
Now that I’m satisfied enough with it that I’m close to release it with a version number (which will be 0.1.0), I’m thinking that the confusion with the other project with that name is not really helpful, and an unfortunate implementation detail.
So I’m looking for a new project name… and have no good idea.
Dear lazy web, do you have good ideas?
|
Emma Irwin: Mozilla Community Education in 2015 |
Last year, to research some theories I had about empowering community, I polled numerous open source communities about their experiences as contributors. Some key responses to “why do you contribute” were:
The majority of responses identified learning opportunities and mentoring as a key motivators for participation, and (perhaps even more importantly) continued participation. So while, yes, the impact and potential impact of the project is often the vessel we arrive on – that alone appears unlikely to sustain contribution. And that’s why I’m so excited that Community Education, and mentorship are core to mobilizing participation goals for 2015.
” At the core of the plan is the assumption that we need to build a virtuous circle between 1) participation that helps our products and programs succeed and2) people getting value from participating in Mozilla. ”
I see education as a key connector of value for people and product. For me it’s less like a hypothesis and more like an opportunity to grow what I have, myself, experienced as a contributor and mentor: that community education and opportunity to learn builds a tenacity and dedication to give back. Being effective matters to product and person.
” Contributors who received code reviews within 48 hours on their first bug have an exceptionally high rate of returning and contributing.” -David Eaves survey of Mozilla contributors.
Educational opportunity is also a ‘people-connector’ : opportunity to give and receive feedback from humans; to know what to what is expected of you, and what you can expect from others lends traction and speed.
So what will Community Education look like at Mozilla? How will it lend to this virtuous circle? Quite a few ways actually. I’ll share this in three separate blogs posts this week leading up to our Community Education Working Group Call on Thursday.
Thanks to yet another survey, we have a clear idea idea about what people want to learn, how they want to learn, and some idea of ‘recognition that matters’ looks like. Most significantly, we have a very successful, strong volunteer leadership platform in the Mozilla Reps, and real examples of community education pushing product success like Mozilla Webmaker and MDN. Remo will be the launchpad for Community Education, and we’ve already started building an education platform, and a base curriculum for mentors.
image credit williamtheaker
The visual of Reps as a launchpad is really important. It reflects the experience, dedication and power of our community leadership program, our commitment to working collaboratively across the project, and that we intend to pick up speed.
The virtuous circle of participation needs to be visible from space.
Tomorrow: Functional Area Groups, Pilots/Experiments and Recognition That Matters.
banner image credit: Christopher Michel.
|
Rob Hawkes: An introduction to visual programming using NoFlo |
I recently stumbled upon NoFlo during my quest for a better way to manage the realtime processing and transformation of data within ViziCities. I was dubious about this bizarre JavaScript framework at first, initially casting it aside as a fun distraction. In fact, it was only after spending a full day experimenting with NoFlo that I began to comprehend its full potential. And boy does it have potential!
So what actually is NoFlo? And why would you want to use it? No one wants yet another framework to learn, nor another pitch for the Next Big Thing™ in programming (a.k.a. “I didn't like anything else so I half-baked something new that no one will use”). I'm a grumpy cynic at the best of times, usually casting aside all the new crap as a fad (it usually is), but NoFlo is different. It has inspired me and filled me with a kind of excitement and energy that I've not felt for a long time. More specifically, the concept that NoFlo is created on has the potential to change the way you approach programming, forever. I'm deadly serious.
In the following series of posts I will dig into NoFlo, take a look at what can be done with it and show you how to use it. But first, let's unwrap this magical concept that NoFlo is based upon.
Back in the 1970s, a man by the name of Paul Morrison decided it would be a good idea to invent a new way to construct computer programs. It's called flow-based programming, or FBP for short.
Based on dataflow programming, the theory of FBP is simple — break a computer program into a series of repeatable individual components and network them together.
In Paul's own words:
FBP defines applications as networks of "black box" processes, which exchange data across predefined connections by message passing, where the connections are specified externally to the processes. These black box processes can be reconnected endlessly to form different applications without having to be changed internally. FBP is thus naturally component-oriented.
Easy peasy! Now I don't know about you, but I find it easier to understand something by doing it. Technical descriptions end up confusing me, then as soon as I think it's started to make sense I become even more confused.
Fortunately, you need only understand the gist of FBP for this series (that it's about breaking things into components and writing little if no code) as the benefits will become obvious as you start to use it. If you do want to dig deep into FBP than I suggest taking a look at Paul's fantastic website on it, including a wiki overview of the core concepts.
Good question! There's my own personal opinion and then the opinion of the FBP hard-liners. They will say that you should always be using FBP, that once you open your eyes to its majesty then you'll never want to program “normally” ever again. I actually agree with that, partly.
On the flip-side, the grumpy cynical side of me says that you should continue doing things how you do them now, but that you should try out FBP and see what sticks. You might end up using it in its entirety, or even a mix of both, or perhaps you'll never want to look at it again. Any of those options are fine.
Specifically, FBP does introduce new ways of thinking about things and it does make things a lot better in certain areas. None of them are unique to FBP, though together they combine to create a rather powerful offering.
For example, FBP fosters the concept of compartmentalised logic and processing. In fact, it forces you to break things down into processes that ideally take a single expected input and use that to produce a single expected output. These components can be reused amongst other areas of your application, or you can even take components written by other people (think NPM), requiring absolutely zero new code to be written. A perfect FBP application could be created with existing components without writing a single line of code (I'll show you how in a later post). That's pretty amazing.
This compartmentalism (pretty sure I just made that up) means that your application is inherently more robust, more reliable, more testable, more everything-able! FBP literally allows you to create applications faster, and that speed only increases the more you use it and the more components you create (or become available elsewhere). That's an unavoidable fact, not a promise.
FBP isn't all shiny (like every single thing ever, apart from perhaps those mirrors they put in space telescopes). I mean, it really is a fantastic concept and its benefits far outweigh the downsides, but those downsides will rule it out for some situations and that's ok.
One example is that you can find yourself duplicating similar processes in FBP. If you need to run multiple transformations on an array of data then you may find yourself looping over that data multiple times across different components. This introduces extra processing time to your application.
Then there's the overhead of sending data between components. This is an unavoidable part of FBP and it means that every single time you send a message you require a tiny amount of processing time to do that. This can add up when you start sending 1000s of pieces of data around the system.
Fortunately, you can learn to notice and avoid both of these situations. Once you've got used to FBP you'll begin to notice common approaches and optimisations. For example, you can avoid the previous situations by carefully thinking about the right component for the job. There are many ways to achieve the same result in FBP, which is both a blessing and a curse.
The crown jewel of FBP is the ability to construct applications using visual tools. This completely changes the way you look at a computer program, allowing you to get a much better idea about the entire structure and flow of your application.
Instead of needing to comprehend thousands of lines of code across countless files, with visual programming using FBP you instead need only connect the dots, quite literally.
This approach means that the application itself visually shows you how it works, rather than requiring prior knowledge of the entire system before understanding how it all fits together. This not only makes more sense to the creator of the application but it also means someone new can look at it and comprehend it nearly immediately. Even if they aren't a programmer!
This kind of visual programming isn't new. Apple's Quartz Composer has done this for years, as have Max MSP, vvvv, NodeRed and many others.
Creating applications in this way is incredibly powerful as it allows you to focus on getting to the final result rather than writing the intermediate code and logic. It's a strangely liberating feeling to create an application in a graphical tool without writing a single line of code.
Further on in the series we'll take a look at the new browser-based tooling that exists to create applications in this way.
It's at this point that NoFlo enters the fray, the hot new thing in the world of FBP and visual programming. Let's save that story for another day.
In the next post we'll dig deeper into NoFlo to learn what it is and how to get started with it. In further posts we'll then use NoFlo to begin creating your own applications using FBP and visual programming.
We'll be covering the following and more:
Make sure to subscribe so you don't miss out!
|