JavaScript Specifics for the “Where do I go from here?” Question

This article is a continuation of the “Where do I go from here?” article with a focus on JavaScript (this is a frequent question I get from the students in my ‘Beginning Programming with JavaScript’ class ). If you haven’t read the previously mentioned article – you should do that first since it sets up the context for what I’m going to say here.

The usual disclaimer applies. This is going to be an evolving post because everything changes in software all of the time. Feel free to contact me with any questions, suggestions, and feedback.

Assuming that you are pursuing project focused learning here are some JavaScript related ideas/approaches.

The ‘no-frills’ project iteration

I suggest that your first iteration of the project use the JavaScript concepts that you just learned. This means using the JavaScript that you know right now. This no-frills iterations will help you understand the essence of your project.

You can continue with plain old JavaScript and an expansion of the ToDo project that we started in class. Or you can choose your own project. As you can tell based on my other article I’m a big proponent of choosing your own project – something that scratches your own (software) itch.

The ‘I must pursue the latest and greatest’ JavaScript ____ \ ____

Many feel that the pace of change in JavaScript (more specifically – the frameworks and approaches to JavaScript) is a never-ending race. It can feel like you’re Charlie Brown, the football is the current must-use/best/must-have JavaScript related technology, and Lucie is that ‘other’ developer who surfs on the bleeding edge with full understanding and a new Medium article about the best framework/approach/’awesomeness’ that you are not using:

This sort of view is known as “JavaScript Fatigue”, and it connects with the two views of JavaScript. The first is that “JavaScript is great!” and the second is that “JavaScript is a mess!” (the State of JavaScript Survey shows this quite nicely on its front page).

The long and short of it is that there is no magic bullet in terms of programming language, frameworks, and technologies. What’s popular today may be gone tomorrow. JavaScript has gotten large enough that you can pick something and specialize in it.

So pick whatever piques your interest. And if you don’t want to pick, then pick a project that interests you and start coding it in plain JavaScript.

There’s a great Theodore Roosevelt quote that applies to decision making:

“In any moment of decision, the best thing you can do is the right thing. The next best thing is the wrong thing. The worst thing you can do is nothing.”

What about bootcamps?

Programming bootcamps are a huge topic that is beyond the scope of this post. Some minimal suggestions:

  1. Figure out if you are the type of personality that would work well in a bootcamp (are you the type that jumps into a cold pool of water or do you slowy wade in?).

  2. They tend to be a large commitment in terms of both cost and time.

  3. Do your research very very carefully since there are lots of questionable ones out there.

  4. If you are seriously considering a bootcamp, you should try your hand with a free one called Free Code Camp. See how well you can commit to daily and weekly work.

I know of 2 students who went to bootcamps for a career change. They completed the bootcamps successfully and did the career change that they wanted. They also found out that the grass wasn’t greener on the other side. One thing about both of these individuals is that they were driven and would have succeeded even if they didn’t go through a bootcamp. In their case the bootcamps accelerated a trajectory that they were already on.

Additional resources

Conclusion

The JavaScript universe is huge. It’s a big mess of awesome. I think Steve Jobs said it best:

stay hungry, stay foolish


Thoughts? Feedback? Let me know: @eli4d


The eli4d Gazette – Issue 018



Issue 018: 2016-11-09

Tech Pick

In Issue 16 of this Gazette, I mentioned a recent well done JavaScript survey. Last week I listened to Sacha Greif, the creator of the survey, on the React Native Radio podcast. There was an interesting part of the conversation where Sacha explained his view/approach to the JavaScript fatigue issue. His fundamental point, that the JavaScript ecosystem has gotten large enough for specialization, was both enlightening and reassuring. In other words, you don’t need to know every nook and cranny of JavaScript and surrounding frameworks/build-tools/fill-in-the-blank to do your job.

Media Pick

Through John Gruber’s site I came across this video where iPhone app developers are reading their 1-star reviews (note that parts of this video are NSFW). While superficially the video is funny, it fundamentally demonstrates the issues of customers and customer support. No matter how much blood, sweat, and tears is poured into software (and to any product for that matter), some customers will always show disdain and disrespect. But that’s the cost of having customers and doing business.

More Recent Articles


Thoughts? Feedback? Let me know – @eli4d on Twitter or eli4dcom on Snapchat (I’m still experimenting with Snapchat)


The eli4d Gazette – Issue 010

Issue 010: 2016-07-20

Tech Pick

I came across a Peter Norvig article. It’s an interesting article and perspective that focuses on using deliberate practice on the craft of programming. Of course, the assumption is that one is approaching programming as a craft.

Freakonomics had two episodes about deliberate practice. The first episode is a conversation with the research psychologist (Andres Ericsson) that studied it. The second (bonus) episode is a conversation with the man who popularized the concept of deliberate practice (i.e. Malcolm Gladwell) and the differences between what he wrote about and what Andres’ research revealed.

Media Pick

The 99% Invisible podcast hits it out of the park with an episode about intentional unpleasant design in public spaces. The Unpleasant Design book looks like quite an interesting read.

The Future of Education

I was talking to a co-worker recently about his four and a half-month-old son. When we talked about education, he said something that surprised me – “I’m going to teach Eric everything I know, and I’m not going to encourage him to go to college.” When I asked if he would encourage his son to make his own business, he responded with “maybe, but I rather he works on open source software and helps change the world.”

We further talked about the whole educational upheaval that is currently happening – boot camps for software development, Khan Academy, nano-degrees, Coursera’s removal of hundreds of free courses and the general idea that all educational information that you need is “out there” or better said “right there” on the internet. This information availability with so-called personalization would seem to be a current and future trend.

What will education look like in 20 years? While my co-worker disagreed with the need for a college education, he did agree that it can provide a social/networking aspect that individual web access from home cannot. After all, how much better are your chances to get work at a start-up if the founder or some member of the executive team comes from your alma mater?

I’ve always wondered about the Star Trek (ST) universe and its nature of education. In that world, the focus seems to always be on Star Fleet Academy. But what about the mechanics that service the ships? The construction workers? The suppliers of replicators and other fantastic technologies? How do they fit in?

In the ST world are you assessed when you’re a child over a period of time, and a customized educational path is made for you? And if this is the way that works, then does a very specific education help you as an individual become a well-rounded individual? Or are you a ‘silo-ed’ person that knows how to do a very specific job with the expectation that you’ll stick to this path and be ‘happy’ with it? What does happiness mean to a person in this world? Where is individual purpose in such a world?

I did a couple of Duckduckgo searches, and the only relevant information that came up was a comment on old forum from a woman named Karen Henke ( http://www.futureofeducation.com/forum/topics/star-trek-a-vulcan-education):

I saw the movie Star Trek last week and enjoyed the action, the characters, the story, and the vision of the future…except for one thing. The future of education portrayed on the Vulcan planet consisted of individuals in pods repeating back to a disembodied voice. It seemed to show the personalization and individualization of education, but missed collaboration and social learning entirely.

Later in the movie, the skills needed to succeed were collaboration, problem solving, and the ability to work together as a team with each team member having specialized skills. Perhaps the cadet education was radically different?

This was an interesting perspective on Vulcan education as portrayed in the movie and I suppose it’s just as valid for the reflection about an earth-bound education.

My view is that presently – a bachelor degree is the new GED. In other words, most jobs tick off the undergraduate education checkbox as a basic requirement. A master’s degree provides a bit more distinction with a Ph.D. being a much bigger distinguishing factor (especially if one wants to teach in a 4-year college). Besides this checkbox, a college education can provide an important network of people that may make the job search easier. Consider for example that you graduated from Acme University and the CEO of the start-up that you’re approaching is also from Acme. Alternatively, a university-based network that can help you reach individuals at companies that you could not otherwise approach.

This is all present stuff – what about the future? What about the education in Eric’s time and beyond? Will he have the illustrated primer described in The Diamond Age and will that help him? I think that Karen hit the nail on the head in that forum post concerning collaboration and social learning. If personalized education is a click/swipe away (or whatever gestural UI there is in the future) and anyone and everyone can learn whatever they need – then where does one learn about social based interaction and problem solving?

It’s easy to fall into a Cassandra-ish trance of OMG the future will be composed of subject specific individuals that are walled off from the rest of the world. It’s easy to stomp our aching generational feet and claim that all is lost because of technology. But I think that this is a false approach.

I find my hope in a recent visit to a Peet’s Coffee. This Peet’s was near a community college, and when I sat at one of the bar chairs, I noticed this community college student sitting two chairs away. She had a notebook open (the paper type), with a laptop in front of her, and white ear buds running to her iPhone 6S. And right there on the iPhone screen was a FaceTime connection to another student. She was collaborating with that student through FaceTime while working at a coffee shop that was buzzing with people and activity. Social learning – check. Collaboration – check. Being in environment that has other humans – check again.

I think that as long as we are human, social and collaborative learning is not going to go away. Whether the bridge of such interaction is an ancient campfire or a FaceTime connection, it’s still there. Technology is just like that Promethean fire – it’s a tool and as a tool, it can connect us or put significant distance between us. It’s our choice in terms of both the interaction and the technology that we choose. To be human is to to be social and to collaborate – whether introvert or extrovert. It’s in our nature, and future generations will use whatever technology is commonly available to do this interaction.

Adobe Voice – is it worth it?

If you’re an instructor – is Adobe Voice worth using?

The short answer: no.

Overview

My co-worker (Matt) showed me Adobe Voice and suggested that it might be a useful tool for creating instructional presentations. In this post, I review Adobe voice from the point of view of an instructor. Some questions that I’ve kept in mind while doing this:

  • Does it allow me to create compelling presentations?
  • How difficult is it to use?
  • Can I preserve my source materials? (to clarify – consider that regardless of your like/dislike of PowerPoint all PowerPoint presentations since 1.0 can still be used and modified with the latest version of PowerPoint)
  • Is this product going to be around in a year?

In the summary section I describe what I see as the pros/cons of Adobe Voice. While in the detail section I cover my test presentation and usage of Adobe Voice.

You can find the sample presentation that I created on Adobe Voice at: https://voice.adobe.com/a/VNo0k/

Summary aka ;TLDR

Ironically, Adobe seems to own your voice when you use Adobe Voice. Consequently, from an instructor point of view I don’t think it is worthwhile. It has great value as a potential form of self expression that also advertises for Adobe. It is great for throwaway projects and has potential as a brainstorming tool assuming that you don’t care about your brainstorming’s artifacts.

Stepping for a moment away from the instructional point of view, Adobe Voice is a great showcase app that can provide other app makers with a great user centric approach to accessing and using Creative Commons assets.

Right now (as of 10/21/15) Adobe Voice is only available on the iPad.

The good about Adobe Voice:

  • The most amazing part of Adobe Voice is the ease of import of Creative Commons materials in terms of icons and images. There’s a certain sort of odd irony that the open nature of Creative Commons is the core feature of an extremely proprietary tool. More interoperable competitors such as Explain Everything should immediately implement this very feature in their product. If nothing else Adobe Voice is a great prototype of the things that you can do with Creative Commons.
  • Kudos to the UI designers and the programming team of Adobe Voice for making it both powerful and easy to use.
  • The frame-by-frame voice recording is great in combination with the background music and choosable theme.

The bad about Adobe Voice:

  • Only portrait orientation is allowed. This may seem like a minor point but it becomes really annoying really fast.
  • The video that Adobe Voice generates is only available on Adobe’s site. Adobe Voice is another way for Adobe to bring users into their Creative Cloud. The only in-app purchase within the app is for space on Creative Cloud. I understand that Adobe is a business and they need to make money. However, in a business context Adobe Voice is nothing more than a pretty advertisement brochure for Adobe. There is no way to export the project to any format but the proprietary one that is stored on Creative Cloud. So ironically your voice as represented by your Adobe Voice project is locked away on Adobe’s servers. There is no way to export the project into any neutral format (like Markdown). This is the biggest problem with Adobe Voice and I cannot recommend it to anyone because of this. Adobe may discontinue the project at any time and the only thing that users may be left with is yet another corporate email apology.

Detail

In this section I walk through my small video creation that you can find here: https://voice.adobe.com/a/VNo0k/ . As a technical point – I used an Audio Technica lavalier microphone – the ATR3350iS. I heard a little bit of background noise when recording and choose the ukulele background music to mask it. This brings up one issue with using the iPad with Adobe Voice – audio capture is tricky. The iPad’s microphone is really not great and you would be better served with a shotgun type of microphone. However, if you use Adobe Voice for just throwaway projects then the sound quality may not matter as much.

Starting Adobe Voice

Few log-in options and some pimping to educational organization.

Starting Adobe Voice

I used my Adobe login

I happen to have a Creative Cloud account due to some meager attempts at learning Photoshop. For my use the cost of Creative Cloud is questionable.

I used my Adobe login

Choice of presentation structure

A very nice pallette of presentation structures to choose from. I went with “Teach a Lesson”.

Choice of presentation structure

The Heart of the Interface

This is the ‘dashboard’ through which you build your presentation on a frame-by-frame basis. In a sense it’s no different than working on a PowerPoint viewgraph – but with the iPad’s tactile interface and amazing Creative Commons usage. Lets do a quick walk through the interface:

1 – Home sweet home where you can create new projects or edit old ones. You never have access to the actual project file and its contents beyond the Adobe Voice app and Creative Cloud.

2 – Built-in: Layout allows frame-by-frame image/icon/text arrangment; Themes is presentation wide changes of theme; Music is presentation wide music backgrounds (all of these will be shown later)

3 – The “share” button which is more of an “upload then share via url to video” (you can only share a link to Adobe’s site where your assembled presentation is located).

4 – Per frame presentation elements: Icon scaled to fit, or Photo, or Text. For icon/photo you can use Creative Commons search or your own (shown later)

5 – This is the magical button that records your voice for this particular frame. As long as you hold it, then your voice is recorded. Once there’s either a visual element (via (4)) and/or audio, then you’ll have the ability to play just that frame. Note that I found some weird skips when doing an audio recording that was less than a second.

6 – This is a very PowerPoint like view of your current and future presentation frames. You also have a play button on the left side to play the presentation from this point forward (across all frames). The frame names that you see are due to the “teach a lesson” structure that I choose for this presentation.

The Heart of the Interface

Icon search for ‘voice’ – 1

Icon search for 'voice' - 1

Icon search for ‘voice’ – 2

Look at the amazing Creative Commons selections!

Icon search for 'voice' - 2

Photo search options

“Find Photos” is the Creative Commons search. Have I mentioned how awesome this is?

Photo search options

Replace layout on current frame – 1

Replace layout on current frame - 1

Replace layout on current frame – 2

Replace layout on current frame - 2

Theme Choices

Note that certain themes can cause distortions of photos due to theme type. For example, the Watercolor theme caused the picture in frame 2 to be distorted in a theme appropriate way. In my case, it cut off frame 2’s picture to the point that the word ‘unique’ was not visible so I went back to Simple theme. There are more themes than what’s shown in the image.

Theme Choices

(Background) Music Choices

A very nice touch is the ability to change the volume of the background music across the whole presentation.

(Background) Music Choices

Photo orientation gone bad

There’s no way to correct a photo that is mis-oriented…at least none that I could see.

Photo orientation gone bad

CC CYA – Creative Commons Information

When choosing the ‘i’ next to a Creative Commons image or icon – this is what you get.

CC CYA - Creative Commons Information

“Share” button – 1

I choose to “share” through email. And in case you’re wondering – yes, the double quotes are there for irony.

"Share" button - 1

“Share” button – 2

"Share" button - 2

“Share” button – 3

"Share" button - 3

“Share” button – 4

Boy do I have a story for you…and in case you didn’t know it ADOBE HELPED ME MAKE IT!

"Share" button - 4

“Share” button – 5

When you click the link in the email this is what you see in your browser.

"Share" button - 5

“Share” button – 6

When playing your presentation off Adobe’s site the last frame of your presentation is auto-generated. As you can see – in the case of my presentation it gives attribution to all the Creative Commons images and icons that I used. This is a very nice way to give credit where credit is due. Big thumbs up to Adobe Voice’s designers and developers.

"Share" button - 6

Conclusion

I’m not sure if there is more to say. Adobe Voice comes so close to being amazing but it falls short through its proprietary nature. And the amazing part is the most ironic part too – the integration of Creative Commons assets. It leaves me with this mixed feeling about Adobe Voice which is reflective of how I feel about the company that brought both amazing products like Photoshop and terrible ones like Flash.