Review: Head First Mobile Web

affiliate link to Amazon

Head First Mobile Web (Brain-Friendly Guides) by Lyza Danger Gardner and Jason Grigsby is from O’Reilly (2012). I confess I got a little excited reading this book, which I haven’t done in a long time with a book I intended to review. The excitement came from the fact that I was learning so much.

Generally, I review books about topics I have some experience and expertise in–mostly HTML and CSS with a few general web categories thrown in. I may learn new things, but I’m mostly looking at what’s covered, how it’s handled, how clear the writing is, how clear the examples are, the overall tone of the writing, and the order in which information is delivered.

But I know little about building for the mobile web as a first (and perhaps only) step in creating a web site or app. Hence, excitement.

If you’ve never used a Head First book before, be prepared for different. There are a lot of images, jokes, exercises, quizzes, reminders, and other techniques you don’t normally see in technical writing. Head First books are written this way because of learning research into how best to help you, the reader, remember and use what you read. As you read, you are expected to work along with the text. Downloadable files are provided to help you put together the mobile web sites discussed in the examples. Here are the topics in the table of contents:

  1. Responsive web design
  2. Mobile first responsive web design
  3. A separate mobile website
  4. Device support
  5. Device databases and classes
  6. Frameworks for mobile (the book example uses jQuery Mobile)
  7. Progressive enhancement, offline mode, and geolocation. This is a very good chapter–the explanation of cache manifests is excellent.
  8. Hybrid mobile apps with PhoneGap
  9. Being future friendly
  10. Appendices include setting up a web server environment, installing WURFL and installing the Android SDK.

In going through these chapters you actually build more than one web site–a responsive one using media queries, a business oriented site with password sign in, and a mobile site with user input and offline uses. There is plenty of discussion about problems, pitfalls and ways to work around them.

I think you could get the information you need to get started building for the mobile web from this book and don’t hesitate to recommend it as a text.

Summary: Good hands-on experience while learning.

A review by Virginia DeBolt of Head First Mobile Web (rating: 5 stars)

Useful Links: CSS3 Cursors, Learn to Code, HTML5 in WordPress, ARIA

Introducing the New CSS3 Cursor Styles is at Sitepoint.

Learn to Code is an new site that aspires to become a brilliant educational tool by teaching users to code using interactive and social tools. Congratulations to this new venture and wishes for much success in teaching learners to code.

The Rise of HTML5 in WordPress lists several WordPress themes that offer HTML5. This is a nice resource to use with my article Should Your Blog Use Responsive Web Design?

Knowing When to Break the Rules from Derek Featherstone talks about validation and accessibility and ARIA.

Guest Post: 7 Things Everyone in Your Organization Should Know

This weekend, I attended the Online News Association Conference in Boston. It was a great gathering of multimedia developers and those concerned with all things digital – quite a fantastic event. I had the opportunity to participate on a panel called “If I Were in Charge, I’d…” Proposals for the panel were solicited before the conference, and mine was one of six selected. The presentation is below, but I wanted to provide a few more details, beyond the eight minutes I had to present. And I wanted to see if there was any feedback or critique. Rob Quigley live blogged the entire session, if you’d like to see the other topics and presenters.

Are you in charge? Maybe you’re an editor or a general manager of a newsroom, or perhaps you’re a dean or director of a university organization. Maybe you lead a media company that specializes in PR or Advertising. Do you consider yourself in charge of a digital media organization? And, does everyone in your organization know that they work in a digital media organization?

Does everyone in your organization know what an API is and why that’s important? Do they know what SEO means and what value it brings the organization? Are they familiar with the type of CMS your organization uses and how it works? And do they know some basic concepts like HTML or how to embed a video or widget onto another Web page?

If I were in charge, I’d be making sure everyone associated with the organization – every reporter, columnist, copy editor, photographer, videographer, every faculty member, every associate – I’d even go as far as saying that every person who answers the phone – knows these things and more. This is not the template for a two-hour workshop. This is not a quick fix or a tweak. This is a tectonic shift in the ways that people envision what it is they are expected to know and do and the kind of organization for which they work.

I propose 7 Things Everyone in a Digital Media Organization Should Know:

1. Everyone would know the history and background of the Web.

Why? Because it’s fun to study the history of something. And, it provides a foundation for understanding the future. By learning about the role of the ARPAnet (and later Tim Berners-Lee in Switzerland), the people involved and the culture surrounding the development of the Internet, we begin to see what makes this environment different. We can learn about the origins of hacker and open source culture and why this presents an alternative and a complement to commercialization. Oh, and we’d know that Al Gore didn’t invent the Internet, and that he never actually said he did.

2. Everyone would understand the key terms of digital media.

We must speak the same language in order to collaborate and have a shared understanding. You can’t have the tech folks spewing jargon while the rest of the organization stands around the sidelines and rolls their eyes. We’re not talking about buzzwords and marketing posturing, but things that everyone needs to know, like what an Application Programming Interface (API) is and why you might use one, why your organization should have them and who benefits from them. When we talk about the “cloud,” what do we mean and how is that different than where we’ve been hosting things all along? What is Search Engine Optimization and how does that compare to Social Media Optimization? What do we mean when we use the phrase “data visualization” and what are these platforms (frameworks) of Ruby on Rails and Django? People may not actually perform these functions or use these platforms, but they should have a clue about what they are and what they do.

3. Everyone would know how Google makes money.

Why? Because Google makes a lot of money. And I bet most of your organization has never paid anything to Google to use their multitude of services. Google has a $170B market cap, one of the most successful companies in history. They made the majority of their $29B in revenue in 2010 with advertising – those little ads you see on the sides and the sponsored links on the top of your Google search. But it’s the power of their search algorithm and their ability to provide products to us that are useful and that integrate with our lives, that allows them to continue to learn more and more about us. Knowledge is power, right?

4. Everyone would be able to explain why social media is important.

No, Twitter’s not about what you ate for breakfast. And Facebook’s not just a place to upload photos of your kid’s birthday party. A modern media organization understands that interaction is the key. The technologies known as Web 2.0 drive interaction with the audience that was unheard of in prior eras. They make media a conversation, and those conversations have value. People are gaining an expectation of participation because of their participation on social networks, and they will begin to find media irrelevant that don’t give them something to do, don’t provide a user experience. Get ready for new social platforms to be introduced over time. Google, who is the king of search, is now trying to develop social competencies with Google+. Location-based platforms, reviewer sites, online games… new things are coming out every minute. But you can’t expect people to understand them if they don’t use them. People should be encouraged to try new things. And they should be comfortable with the idea of using social media to develop their own brand or to support that of the organizations with which they work.

5. Everyone would understand how data can tell a story.

That doesn’t mean that everyone will know how to program a data visualization. But everyone should understand that a data visualization is an important element of storytelling, just like text, photos, video, other graphics. The benefit is the interaction, the ways that you develop to integrate the user into the story. There are a million ways to do this, and we are just starting to see brilliant examples of this type of work by organizations like the New York Times, the Guardian, the LA Times, the Texas Tribune, the Associated Press, the Chicago Tribune, ProPublica and more. The example I used in my presentation is the Rent vs. Buy interactive that the New York Times did several years ago, but is still updated on their site. You can read a story about whether or not you should rent or buy a house, but how does that really help someone make their own decision, with their own variables? Everyone needs to understand the power of this type of information and comprehend their role in creating it. How would they propose such a project? Who will they work with? What tools can they use and what resources are out there? This doesn’t mean someone needs to tell them or train them. They need to be focused enough on the importance of it that they are seeking out this information on their own and figuring out ways to integrate it into their own workflow. That’s how the people who are doing this kind of work learned it… by figuring it out themselves.

6. Everyone would know a little HTML (and some CSS for that matter).

Why? Because it’s the language of the Web. If you don’t know the language, you can’t understand the platform. You need to know HTML to maximize your ability to customize the things you do in blog or content management systems. And it is the foundation for more advanced coding, like CSS, Javascript, JQuery and on and on. For the most part, code snippets are available in libraries, so what most people are doing when they work in code is tweaking and customizing, rather than cranking it out from scratch. It’s not that everyone should become a programmer, but it wouldn’t hurt to know a bit about how it all works. Knowing a little html can go a long way in being able to read and tweak code (like reading a foreign language versus writing or speaking it). And, it’s not hard. It’s a markup language, using tags to give meaning to text. It fits in perfectly with a communicator’s skill set. And it’s fun to learn.

7. Everyone would understand the elements of a digital-, and increasingly mobile-, first strategy.

Until this happens, your organization will still be mired in legacy culture. People need to understand how it changes the processes of the newsroom, how their roles change, and most importantly, how it affects the experience of the user. Breaking a story on Twitter is the new “scoop.” The analysis and conversations that happen after is what a news organization does now. Sure, you still produce a paper or newscast, but that’s only a part of what you do. It’s what you share all day long and what others share of the work that you are doing that establishes your brand and your value. You have to re-prioritize that to your organization.

So, as I said above, this isn’t about developing a 2-hour workshop and then going back to the way things have always been. We’re not a weekend behind and then we’re all caught up. Digital media has been developing for the better part of two decades, and it’s time everyone who works in media realizes they work for a digital media organization. We can’t solve the pressing problems of the field with just a few who are in-the-know. We need everyone to be working toward the same goals, gaining knowledge and contributing to the solutions. This will require constant, ongoing and consistent messaging in the following areas:

  • Leadership must evangelize from the top – it’s not enough to have the tech people at the grass roots take responsibility for training the whole organization. Leadership must communicate that it is everyone’s responsibility to keep up-to-date and learn. It must be a consistent part of all messaging, all meetings, the mission and goals of the organization.
  • Foster a meetup culture – how can they learn? Well, for one, they can start attending any of the multitude of professional meetups that are probably already happening in their area. These resources exist. There are regular presentations on relevant topics, and you don’t even have to organize them. Just make sure your organization knows that it is an expectation that people participate. And, people should gain a level of comfort in going to groups where they don’t feel like they have a command of the material. Don’t be afraid to be the stupidest person in the room. In fact, that’s preferable. That’s when you learn. And, like a lot of this stuff, it’s fun. You meet people, who may be able to help you professionally, or guess what..? You just might end up with a few new friends. Personally, I view my professional network for its power in assisting my students, but I really enjoy meeting people and learning about these topics, and have made some wonderful contacts in the process. Don’t attend a meetup that you dread or hate. Find one that interests you. They’re out there.
  • Encourage innovation through exploration – It should be expected that people try new things when they are released. Get on Google+, try Foursquare and Gowalla, sign up for Storify… Guess what? They’re free. Yes, they take time. But if that’s what your job is, then you are using that time wisely. Having a little knowledge about a new platform and some perspective can be quite beneficial when trying to weigh options and quickly make decisions about the usage and relevance of platforms. And you don’t want to ignore new technologies to the point that you suddenly have “unexpected” time on your hands, do you?
  • Read tech/media publications – This should be a given. We expect people to keep up with news, be on top of things, know their beats, keep up with trends. Well, this is our business now, so shouldn’t we expect people to keep up with it? Know about the key players, tech mergers, new media projects, startups. There are numerous publications, but Wired, Fast Company and a multitude of blogs, like Mashable, 10,000 Words and TechCrunch, are a good start.

I have had success in sharing these concepts with students. My feeling is that they gain an enthusiasm for the future of media by having it presented in this manner. These are opportunities, not annoyances. There are challenges, but everyone needs to be on board so they can be overcome. If I were in charge, I’d find a way to make everyone excited about the future of media.

Are you in charge? What do you think about these points? Does everyone in your organization know these things? Maybe you’re not “in charge.” I’m not either. This was just a hypothetical exercise. But what do you think your organization should do to integrate these concepts, if you think they are valid at all? Let me know if you have any additional items or if you just think I’m full of it. I’ll be interested in any discussion generated.

Some resources I have used:

The Internet: Behind the Web – it’s an old video, and is probably only available on VHS (I have since dubbed it DVD), but it’s a great way to learn about the history of the ARPANet, Internet and Web. It has some abridged content from the longer series Nerds 2.0.1

Download: The True Story of the Internet – this is a great series that covers Browsers, Search, E-Commerce and Social Networking. It brings everything up to date after the above video.

Hacks/Hackers Glossary – a great set of terms and definitions developed by the main Hacks/Hackers organization. Their a meetup group, probably a chapter in your area, that brings journalists and programmers together.

Lynda.com – this is a software and programming training library. It costs money, but on a month-by-month basis, it’s cheaper than purchasing a book to learn a particular language or platform.

South By Southwest – You should attend conferences. ONA is fantastic. Another one that I love is the South By Southwest Interactive Festival. It’s huge and broad, but nothing has influenced my approach to teaching media than my regular attendance, year after year, at this event. And, like a lot of these recommendations, it’s fun. Trust me on this one. Plan to attend SXSW in March.

Guest Post by Cindy Royal. This post was originally published at Cindy’s Take on Tech.

Useful links: Accessibility and SEO, creative writing/programming, Edge

Jared Smith wrote an excellent WebAIM article talking about how Accessiblity and SEO are moving closer and closer together in their goals and techniques. He talks about a variety of things, including HTML5 and SEO. Look at Jared’s list of similarities (links are to WebAIM articles):

The list of accessibility and SEO practices that are closely in alignment include:

Of course content is king, in both accessibility and SEO.

Teaching Creative Writing with Programming at ReadWriteWeb is one of the most creative teaching ideas I’ve seen in years.

Adobe Launches HTML5 Web Animations Tool is the announcement at Mashable. The tool is called Edge and is free right now because Adobe wants testers and feedback. The tool uses only HTML5, CSS, and JavaScript. Stephanie Sullivan Rewis tweeted another article about Edge.

 

Adobe’s Edge summarized on MacWorld: http://srewis.me/p79ij4 #html5 #css3Wed Aug 03 01:41:56 via TweetDeck

 

Review: HTML5 & CSS3 for the Real World


HTML5 & CSS3 For The Real World, written by Alexis Goldstein, Louis Lazaris and Estelle Weyl, is from Sitepoint (2011). This book takes on several topics that could fill an entire book individually, yet manages to serve each topic well. As you can tell from the title, the book talks about HTML5 and CSS3, but it also goes into complementary JavaScript/API topics like geolocation, offline web apps, web storage, Canvas, SVG, drag and drop.

 The authors specifically point to the growing mobile market, and that focus is reflected in the chapters included in the book. They say,
Mobile Safari on iOS devices like the iPhone and iPad, Opera Mini and Opera Mobile, as well as the Android operating system’s web browser all provide strong levels of HTML5 and CSS3 support. New features and technologies supported by some of those browser include CSS3 colors and opacity, the Canvas API, Web Storage, SVG, CSS3 rounded corners, Offline Web Apps, and more.

The authors made a strong effort to be as up to date as one can possibly be in a hardcopy format. They mentioned very recent changes in HTML5. They knew what future versions of browsers were likely to support, and therefore, what vendor specific prefixes were no longer needed, or soon would not be needed.

The downloadable site adds valuable practical and hands-on experience with the examples in the book that many learners will appreciate. It gives you something concrete to grapple with in addition to the theoretical information behind what’s going on in a browser or other device. Since I tend to look at everything from an educator’s point of view, I think the downloadable files would be a real asset if this book was used to teach either HTML5 or CSS3 or both.

It’s a lot for one book, but it’s all handled well. Which makes this book a decent choice for someone who wants a single resource to guide them through the new technologies and tools that are available in and around HTML5 and CSS3. I wouldn’t recommend it for someone who didn’t already understand HTML and CSS, but it is certainly a valuable book for learning the latest information in those fields.

Summary: An all-inclusive resource for learning HTML5 and CSS3.

A review by Virginia DeBolt of HTML5 & CSS3 for the Real World (rating: 5 stars)

Useful links: CSS selectors, OS X shortcuts, Postel’s law, Bob’s Birthday

Understanding CSS Selectors at Script Junkie. Great explanation of attribute selectors, including how to style with attribute selectors when using ARIA roles and forms. The article also explains how to use more than one attribute selector to create styles.

Want to look like a real computer whiz on your Mac? Study A selection of Mac OS X keyboard shortcuts at 456 Berea Street for some lesser known shortcuts that will speed up your day.

Adactio was talking about Going Postel today. He said,

As long as we use progressive enhancement, the front-end stack of HTML, CSS, and JavaScript is remarkably resilient. Remove JavaScript and some behavioural enhancements will no longer function, but everything will still be addressable and accessible. Remove CSS and your lovely visual design will evaporate, but your content will still be addressable and accessible.

I had to go look up Postel’s Law to see what he was referring to. Just in case you’ve never heard of it either, here’s how Wikipedia describes it:

In computing, the robustness principle is a general design guideline for software:

Be conservative in what you send; be liberal in what you accept.

The principle is also known as Postel’s Law, after Internet pioneer Jon Postel, who wrote in an early specification of the Transmission Control Protocol that:

TCP implementations should follow a general principle of robustness: be conservative in what you do, be liberal in what you accept from others.

Today’s is Bob Marley’s birthday. And I cannot resist an occasional foray into the off topic land of iconic music. The wonderful organization Playing for Change has given us this in celebration of the day.

Useful Links: Webcraft, Mint in classrooms, Useful vs. Delicious

Mozilla’s School of Webcraft is taking names and keeping lists in anticipation of the opening of registration for the new classes on Jan. 8 2011. Learn HTML, CSS, and Javascript.

Mint.com is taking a personal finance class into middle schools, according to TechCrunch. I know this isn’t the first time commercial concerns have developer curriculum materials, but this one caught my eye because Mint has lived its entire existence online.

Useful vs. Delicious. The Useful Links feature of this blog is my own personal Delicious bookmarking method. I know I’ve written about using Tumblr to store bookmarks, but the things I save there are things I don’t think I’ll use more than once. When I mention something here in the Useful Links, it is a link I think I may need myself at some point. I tend to remember what I’ve talked about in the Useful Links, too, and can come to the blog and search for it when I want  it. Maybe cataloging Useful Links is only helpful to me, but I hope readers find them useful too.