I’ve been learning d3 and it’s been a fantastic learning experience. It’s a low-level javascript library for making interactive visualizations–including maps–inside SVGs for nifty client-side rendering effects of datasets that can be updated easily with new data. Incidentally, Scott Murray’s book Interactive Data Visualization for the Web is a fantastic first resource full of the most important bits to know and written in an accessible style.
So that’s been great, yes. But even the nerdiest among us have their limits to how much of their day, their week, or even their year, they can jam with brand-new material. And that leads me to my thesis, which is that when you are designing a new product or a new library or a new software, keep in mind that it isn’t just your computer laypersons who have to leap a mental hurdle to even begin working with your product, it’s also people who have just simply saturated their number of “new things” that they can handle that week or that month, even if they are supremely computer-savvy individuals who would really have very little trouble with your product.
In product design teams, the engineers and managers all have a tendency to think about the lowest common denominator when designing, and that’s certainly not a bad thing. But the computer scientists among us hit their limits from time to time too. So you’re not just in the business of making things simple for the newbies, your making your product easy to adopt by everyone.
My forays into d3 came at a time when I was granted a few hours of paid time to work on it, and that helped. It also came at a time when I was ready to really dive into something new. Don’t count on that being the case for all your users.
As usual I’ve reached the end of my little thesis statement with a feeling that it could be argued in the opposite direction as well (the downside of being analytical). So if you’d like to argue the opposite please go for it. And keep in mind the goal here: giving the best advice for teams building brand-new products as well as individuals who are building brand-new tools and libraries.
@PetersonGIS ok, now I get your point, there is a limit to the time one can spend on learning new stuff, and there is more stuff than ever
— Atle Frenvik Sveen (@atlefren) July 28, 2015
@PetersonGIS hardest thing about Unix philosophy. Do you think of ls, cp, mkdir as different programs? how do we package 2 work better?
— David Bitner (@bitnerd) July 28, 2015
@PetersonGIS and as a js-developer this is real: there are a new framework/library/build tool/package manager each week
— Atle Frenvik Sveen (@atlefren) July 28, 2015
@PetersonGIS so, I'll say my limit to learning new ways to do stuff I know is low, but the limit to new stuff (ie 3d, vector tiles) is not
— Atle Frenvik Sveen (@atlefren) July 28, 2015
@PetersonGIS Absolutely! I've ignored stuff like d3, too much to learn and work won't adopt it if I'm the bottleneck anyway.
— Adrian Lee (@mapsnstats) July 28, 2015
@atlefren @PetersonGIS see https://t.co/SkaWvicDeM
— Sean Gillies (@sgillies) July 28, 2015
Before even writing a single line of code, determining the best js lib/fw option is far more challenging than doing https://t.co/sDKgj09aaY
— Christopher Rice (@colocarto) July 28, 2015
@PetersonGIS Agreed. My approach 1) Choose a framework 2) Get proficient with it 3) Build apps with it 4) Ignore the cool kids
— Bill Dollins (@billdollins) July 28, 2015
@billdollins @PetersonGIS About #1, what is the deciding factor(s)?
— Christopher Rice (@colocarto) July 28, 2015
@billdollins @PetersonGIS 5) Don't reference the show "Friends" in blog post.
— Jonah Adkins (@jonahadkins) July 28, 2015
@jonahadkins @billdollins You secretly loved it.
— Gretchen Peterson (@PetersonGIS) July 28, 2015
@colocarto @PetersonGIS I wish I could say I had a scientific approach. Depends a lot on the connection I feel with the framework authors.
— Bill Dollins (@billdollins) July 28, 2015
New.js is now Old.js because you turned your back for a second https://t.co/0d68TdLcDn
— Silas Toms (@silasmerlin) July 28, 2015
@colocarto @PetersonGIS There are few better ways to make a psychological connection with someone than using their code.
— Bill Dollins (@billdollins) July 28, 2015
@jonahadkins @PetersonGIS The one with the Javascript framework.
— Bill Dollins (@billdollins) July 28, 2015
@billdollins @PetersonGIS Yes, and of course, the level of success that f/w as evidenced by case studies is a big one.
— Christopher Rice (@colocarto) July 28, 2015
@colocarto @PetersonGIS They by and large all do the same stuff, it's "how" that varies for the most part.
— Bill Dollins (@billdollins) July 28, 2015
@DonMeltz I prefer the term 'augmented human.' @colocarto @PetersonGIS
— Bill Dollins (@billdollins) July 28, 2015
.@PetersonGIS re your blog post http://t.co/QCbXCosJUn pic.twitter.com/EeroQn0wsN
— Brian Timoney (@briantimoney) July 28, 2015
@PetersonGIS learning stuff takes lot of mental power and you need downtime to interanlize all that,going deeper wins&new makes us fresh
— Kuba Kończyk (@KubaKonczyk) July 28, 2015
#1 by Nathan Saylor on July 29, 2015 - 5:07 am
TLDR: TLDR