Category Archives: eBooks

An Investigative Approach to Social Media Content Analytics


computer with screen graphTwo hundred million active Twitter users send 400 million tweets per day. Six-hundred-thousand pieces of content are shared on Facebook each minute. Seventy-two hours of video are uploaded to YouTube every minute.

The ever-growing streams of social media data hold the secrets you need to reach and engage your customers. Yet, according to a Harvard Business Review study, only 12 percent of companies using social media content believe they are using it effectively.

To date, social media analytics focused on the content of posts — the actual text of a tweet, for example — to measure consumer opinion. While sentiment analysis is important, companies also need to dig deeper into the data to glean actionable insight.

Whether companies are trying to engage better with customers, improve brand awareness, or boost lead generation, intelligent social media analysis is critical. And to get there, companies are increasingly embracing a new approach: investigative analytics.

Evolved analytics: Asking iterative, open-ended questions

Data analysis is no longer just the domain of the CIO and the IT department. Data-driven decision-making is the realm of marketing, sales, and business development — and anyone else who has a stake in the organization’s and customers’ success.

However, traditional analytic tools don’t let users interrogate fast-moving, highly diverse types of high-volume social data. As data connections and dependencies grow exponentially, it’s no longer possible to capture actionable information in a rigid set of KPIs and canned reports. To manage content, brand and customer engagement in a social world, companies should consider performing richer, real-time data analysis — with (it’s true) far fewer resources.

Enter investigative analytics, where users ask a series of quickly changing, iterative questions to figure out why something did or did not happen, and determine how to optimize a particular outcome. Compared to traditional analytics, which lack flexibility because they are tied to rigid KPIs and reports, investigative analytics yield insight into questions that haven’t even been dreamed of yet.

For example, traditional analytics may help companies answer a question like, “How many leather handbags did we sell via Pinterest last week?” Investigative analytics ask more meaningful questions, combining social media with other data points (e.g., campaign information, click-throughs, conversions, etc.), to enable more flexible data interrogation.

An investigative analytics series of questions may follow a path like this:

  • Where are we getting the most sales conversions on leather handbags?” The answer: 25 specific Pinterest boards provide the most leads.
  • Is there a particular product-marketing image those 25 Pinterest boards are using?” (e.g., Is it a static image with lots of white space, or a woman modeling it at a chichi restaurant? Is it black or vibrant red?)
  • Are we selling to a younger demographic when a specific color bag is pictured?
  • Is there a common conversion thread for consumers who paused a video ad but then resumed play? Did they convert better or worse than those who never paused the video?
  • Do more targeted consumers convert from a mobile device?” If yes, figure out how to optimize the campaign for mobile users.

This open-ended process of investigative analytics allows anybody looking at the data to constantly evolve the questions they ask and query data in real time, regardless of data volume. As a result, companies can figure out how to develop customized campaigns that deploy the right messages via the most receptive channels. Not only will they be able to increase efficiency of campaigns and how they target consumers with content, but they also will uncover up-sell targets and inform product development road maps as consumer preferences are revealed.

Navigating investigative analytics

Following are key considerations to put investigative analytics into action:

  • Embrace “frictionless inquiry:” Investigative analytics are all about frictionless inquiry, where the path between the question and answer is void of rigid structure. Frictionless inquiry depends on ad hoc query capabilities and simple analytic tool administration. So, when you reach the aha moment, you’ll have all the information you need to ask the next question or dig deeper into data without having to call IT or the help desk to create a new query.
  • Define, but don’t limit your universe of data points: The lines between web, social media, and advertising analytics are blurring as these modalities become more and more interdependent. To uncover and respond to consumer insights, it’s critical to analyze when and where a consumer said something, what else he was talking about, and what he did as a result. This correlation between engagement and conversion requires attention to a slew of data: demographic background; geospatial and time tracking; which social network and device was used; who opened a video, who paused it, who resumed watching after the pause. While it’s important to determine the data points you can mine, it’s equally important to always add and refine.
  • Ask why, not what: Gone are the days of simply knowing what happened in a campaign. Today, you can — and need to — know why: patterns of behavior or insights to capitalize (either in the moment or in the future). With investigative analytics there are no wrong questions. Instead, by letting the results of your ad hoc queries drive the next question, you’ll be asking the right ones.
  • Take advantage of trending topics: To benefit from trending topics, it’s essential to extract intelligence — whether it’s A/B split testing or consumer likes and dislikes — from social networks as soon as it’s generated in real time. Can we increase engagement if we push out another tweet two hours after it posts? Five hours after? Five days after? Insights gleaned through investigative analytics help you take immediate action to optimize social engagement and drive further traffic and revenue.
  • Don’t ignore historical data: Take advantage of real-time data, but don’t forget the past. For example, it’s important to know if, historically, you’ve been successful with pushing a contest out on Facebook on Wednesdays followed by successive tweets on Friday so that you can replicate your success. Year-over-year trends are also important when planning for annual events, such as Black Friday shopping.

By harvesting the massive amounts of social media data with the power of investigative analytics, businesses will be able to determine exactly what people want, when they want it, and through what social network — which results in true competitive advantage.

 

Author: Don DeLoach

Don DeLoach is CEO of Infobright, a high-performance investigative-analytic database provider. He is active in community service, and is a director on the board of the Illinois Technology Association and the Juvenile Protective Association in Chicago. Find him on Twitter.

Hot iPad Apps for Content Marketers


I’m not a cultish Apple fan, but the iPad has me swooning. For online content fanatics, it’s the ultimate consumption gadget… sort of like a Big Gulp for technophiles. For those of you lucky enough to have an iPad under the tree this season, here’s a round-up of the very best iPad apps for content marketers.

Flipboard

The app that leaves content marketer hearts aflutter. It aggregates your favorite online reading materials and suggestions from friends, and plops it all into a stunner magazine format. Think RSS feed + glossy mag. This app alone is worth the $500 iPad price tag. For a better understanding of the Flipboard experience, see the video.

Cost: Free

iWork

So you’re considering leaving your laptop at home next time you travel? The iWork app for iPad lets you modify Microsoft Office Word through Mac-based Pages (the Mac-equivalents of Excel and PowerPoint are also available through iWorks, but with less favorable reviews). Without a full keyboard, the iPad is not ideal for creating documents from scratch, but iWork lets you modify your existing docs while on the road.

Cost: $30, or $10 each for Pages, Keynote or Numbers

Sketchbook Pro

Whether you are a doodler, a visual thinker or a professional illustrator, Sketchbook Pro is a wicked little app that will let you indulge your inner artist. A great tool for fans of the visual problem-solving book, Back of the Napkin.

Cost: $8

Instapaper

Stumble upon an interesting article or blog post but don’t have time to read it at that moment? Click the “read later” bookmark from Instapaper, then come back when you’re in the easy chair. You can pull your reading list from any Internet-connected device, including your phone, Kindle or iPad.

Cost: $5

Evernote

Evernote is like an inspiration board for the OCD-type. Store notes, photos, screenshots or voice memos in the cloud. All your materials are organized by tags for quick retrieval later. A great tool for marketers who pull inspiration from other companies, people and everyday life.

Cost: Free

Dragon Dictation

You’re driving in the car and have a moment of profound genius that you’d like to capture for a future blog post? Speak into your phone and the app delivers a text message or e-mail, ready for sending.

Cost: Free

Readdle Docs

Your co-worker sends you a PDF proof of a document for your review and commentary—and you’re a long way from a printer/scanner. PDF Expert from Readdle lets you mark up PDF documents and forms from your iPad. Read and annotate PDF documents, highlight text, make notes, draw with your finger (great for leaving signatures) and save changes compatible with Preview and Adobe Acrobat. Done!

Cost: $10

Things

The ultimate to-do list app is now available on the iPad. Includes to-do lists, notes, due dates and project categories (great for sorting). Document your current priorities—and even your future goals.

Cost: $20

Print Central

Print Central lets you print directly to most WiFi/Wireless printers—perfect for stopping by your local office store or hotel business center.

Cost: $10

Timeli

With Timeli you can view your projects at a glance and see what’s coming up next in a smooth timeline.

Cost: $2.99

Author: Clare McDermott

Clare McDermott is the editor of Chief Content Officer magazine and owner ofSoloPortfolio, a Boston-based content marketing provider for professional service firms.You can follow her @soloportfolio.

Chief Content Officer Magazine Launches in Print and Digital


NOTE: Chief Content Officer magazine is completely free while we are in beta. Get your free subscription today! (and it will continue to be free after that)

When Joe Pulizzi asked me to join him to launch Chief Content Officer magazine, I leapt at the chance in part because I love the glossy, rich feel of a print magazine. You could even say I’m a bit of an addict, subscribing to ten magazines at home—from the uber-hip Fast Company to straight-laced Foreign Affairs (and more than a few low-brow mags in between that I hide under the couch when company comes over).

During the darkest days of the recession, lots of people were predicting that print magazines were in a death spiral—suffering from the combined forces of fewer advertisers, competition from free content online, and a lack of innovation in integrating digital and print. I’m not convinced. Flipboard may bethe coolest new iPad app on the market, but many of us still love the rich look and feel of a print magazine.

What does it take to build a great print custom magazine? Joe Pulizzi wrote the definitive post about the planning, execution and measurement of custom magazines. Joe got his start in custom media so he’s like the Miyagi to my Karate Kid. Instead of trying to re-hash his smart advice, below is my list of magazine must-have intangibles.

Design on equal footing with editorial

Even more so than content online, the design of your magazine is crucial – and just as important as the editorial. Your magazine’s chief editor and chief creative should have great chemistry and a shared sense of how content and design inspire one another.

An appreciation for the quirky and new

When someone sits down with a print magazine, they are in browsing mode, ready to be entertained and inspired. You’re catching them at a very different moment than when they may receive your e-newsletter or blog post—which is more likely to happen during work hours. Meet your reader’s browsing, relaxed mood with content that is more entertaining than purely educational. Profile a person whom your audience aspires to become. Showcase a company that is not just successful, but daring and even quirky. Mix in short-format content and lots of visuals for skimmers.

Networking, baby!

The success of a magazine depends on sniffing out interesting stories and gaining access to interesting people. Ensure your team has the necessary sales skills to pull in contributors and snag interviews with influential people. You need at least one (if not more) extroverts on your team.

Writers who speak Smart and Snappy

There are many different kinds of skilled writers, but only a small cohort make great magazine writers. The very best are natural storytellers, willing to say something silly or controversial for the sake of capturing their readers’ attention, and don’t wander around on intellectual detours.

A deep knowledge of (and affinity for) your target audience

This one seems nearly too basic to preach to a roomful of marketers. If you are going to write aspirational stories, you need to know what your readers aspire to–what challenges they face and what fuels their passion. Ideally, your editorial and design team shares that passion.

Our goal is to deliver all of these intangible qualities in every tangible edition of Chief Content Officer, and hopefully convince the world that print is alive and well.

Author: Clare McDermott

Clare McDermott is the editor of Chief Content Officer magazine and owner ofSoloPortfolio, a Boston-based content marketing provider for professional service firms.You can follow her @soloportfolio.

The Content Marketing Industry’s 15 Biggest Milestones to Date


content marketing milestonesI’m a history buff. When major events happen, I try to look at the event through a historical lens.

I found myself doing that this week, after hearing the news that content marketing platform Compendium was purchased by Oracle. To mark the occasion, I’ve put together a listing of what I feel are the most significant developments that have rocked the content marketing industry (in date order).

1895: John Deere launches a custom magazine

The Furrow magazine is often considered the key point that marks the birth of content marketing. This print publication is now the largest circulated farming magazine in the world, delivered monthly to over 1.5 million famers, in 12 languages, to 40 different countries.

content-marketing-milestones-Furrow

1922: Sears launches World’s Largest Store radio program

The station helped keep farmers informed during the deflation crisis of the 1920s with content supplied by Sears’s Roebuck Agricultural Foundation.

1930s: Procter & Gamble (P&G) begins foray into radio with serialized dramas

This extremely successful initiative, featuring brands such as Duz and Oxydol detergents, marked the beginning of the “soap opera.”

1950–1980: Mass media takes hold

Content marketing takes a back seat to mass-driven advertising efforts, bringing about a boom in newspapers, radio, and television advertising.

1987: LEGO launches Brick Kicks magazine

LEGO Club magazine (initially launched as Brick Kicks) is now delivered to millions of LEGO Club members around the world.

content-marketing-milestones-brickkicks

2004: Microsoft launches the first major corporate blog

Born from the unintentional efforts of Microsoft engineers, Channel 9 became an immediate success. Today, the video blog still goes “in the trenches” to cover what Microsoft engineers and creators are working on that are of interest to the company’s followers.

the defrag show-microsoft

2005: The content marketing books start flooding in

Starting with David Meerman Scott’s Cashing in with Content, the industry starts to see a number of impactful content marketing titles, including David’s next book, The New Rules of Marketing & PR and our own Get Content Get Customers. Additional influential titles includeContent Rules, Content Strategy for the Web, Managing Content Marketing, and now, Epic Content Marketing.

2007: Red Bull develops The Red Bulletin

Red Bull, the media company that just happens to sell energy drinks, launched its official magazine, which now has over 5 million subscribers. How’s that for a content asset?

red bulletin-red bull

2007: BlendTec uploads its first Will It Blend? video

The viral sensation leads to a 700 percent revenue growth for the blender manufacturer. BlendTec’s YouTube channel now has over 600,000 subscribers.

2008: AMEX launches OPENForum

The American Express content platform focuses on financial, marketing, and operational solutions for small businesses. AMEX now gets as many new credit card inquiries from this platform as it does from any of its other efforts.

open forum-american express

2010: Content Marketing Institute is born

CMI launches with the sole goal of advancing the art and science of the practice of content marketing. CMI now has over 60,000 subscribers, hailing from nearly every country on the planet.

2011: Coca-Cola Content2020 hits YouTube

Jonathan Mildenhall architects Coca-Cola’s content marketing strategy and makes it available for the world to view.

2011: Content Marketing World debuts

Content Marketing World launches in Cleveland, Ohio to over 600 content marketers from around the world. This year, more than 1,700 marketers, from 42 countries, came together at CMW to rally around the practice of content marketing.

2013: Salesforce.com buys ExactTarget

The former CRM platform joins forces with the email marketing software firm — which also owns Pardot, the marketing automation play. Salesforce immediately becomes a key player in the content marketing realm.

future of marketing-salesforce+exacttarget

2013: Oracle buys Compendium

The database-software company now positions itself in the middle of the content marketing revolution by purchasing a pure content-marketing platform.

oracle rundown

Content marketing’s future keeps progressing at the speed of light

Just as I was working on this post, Kapost, another content-marketing platform, sent over an excellent infographic that lays out the progression of content marketing technology. Here it is below.

Brought to you by Kapost (click for full view)

What additional milestones would you add to this list?

Want to make your own mark on the future of the content marketing industry? Read Joe Pulizzi’s new book, “Epic Content Marketing.”

 

Author: Joe Pulizzi

Joe Pulizzi considers himself the poster boy for content marketing. Founder of the Content Marketing Institute, Joe evangelizes content marketing around the world through keynotes, articles, tweets and his books, Managing Content Marketing and Get Content Get Customers. Joe’s latest book is Epic Content Marketing (McGraw-Hill). If you want to get on his good side, send him something orange. For more on Joe, check out his personal site or follow him on Twitter @JoePulizzi.

Designing for iOS7: Perils & Pluses


Like many other companies building mobile applications, we’ve spent a lot of time recently redesigning our iPhone app, Polar, for Apple’s newest operating system. Through what turned out to be a rather lengthy process, we learned a lot about the good, the bad, and even the blurry parts of designing for iOS7.

As we began adapting existing elements of the Polar design to work with the overall aesthetic and design language of iOS7, one thing became really clear. We weren’t satisfied to just make things fit into iOS7, we wanted to ensure we were actually making the design better as a result of these changes. In some ways, iOS7 made it easy to improve our design. In other ways it made things a lot harder -which is where most of our time was spent.

iOS7 Design Pluses

The design language of iOS7 is inherently simpler than the one Apple used in iOS6. On the surface, that would seem to make designing for it simpler as well. But in reality you end up needing to do more with less, which is not easy.

“True simplicity is, well, you just keep on going and going until you get to the point where you go… Yeah, well, of course.” -Jonathan Ive, 2013

While we needed to use Ive’s process of continual iteration for several of our design elements (details later), the work done by Apple’s team also allowed us to quickly get to a better design with other elements. For instance, moving to the iOS7 style of input fields instantly made our forms feel simpler and fit in well with the rest of the operating system aesthetic.

Polar before & after iOS7 redesign:forms

Headers, while requiring more work, also improved our existing design by forcing us to get down to the bare essentials. They also gave us an opportunity to take advantage of the translucency effects that define a lot of the iOS7 experience. By default, app headers are now transparent and can match up with the color of the OS system bar. This creates a single visual element at the top of an application and teases content below the header with transparency -both pluses. But these pluses also come with some new challenges.

Polar before & after iOS7 redesign: headers

In order to create more screen space for content, Polar has always removed our headers when people scroll down through the list of polls. when they scroll up a certain amount, we bring the headers back so people can navigate around the app again. As you can see in the video below, the default transparency broke this behavior and we had to come up with a new solution.

We ended up sliding the header under a thin blue underlay we positioned below the system bar (see the video above for the full effect). When scrolling down with this implementation, just a thin blue system bar is left thereby maximizing screen space and retaining a bit of the app’s style after the header is gone. but we weren’t out of the woods yet… because of our custom pull to refresh elements.

Since the first version of Polar, we included a pull to refresh gesture that updated the content on our screens. With our new transparent iOS7 headers, these perviously hidden (below the header) UI elements showed through and made the text in our headers harder to read. We got around this issue with blur.

Polar blur background header elements

To ensure our pull to refresh elements below the header didn’t make things harder to parse, we blurred all the elements below the header. This created a sense of depth through translucency without negatively impacting readability. So win/win.

When it came to the forms and headers in Polar, the iOS7 design language made it easy to do the right thing. And I think we did end up with a better design instead of just an iOS7 design. With other elements of Polar, things weren’t that easy.

iOS7 Design Perils

The simplicity of iOS7’s design language comes at a cost: a reduction in the amount of visual elements designers can use to create hierarchy and thereby understanding.

To explain that a bit further, how people makes sense of what they see gives designers a set of attributes to play with to create meaning within a design. Elements like color, size, and texture can create similarity, differences, and hierarchy within a layout. When these elements are “flattened”, some of this vocabulary goes away. It’s like losing a set of words, you have to work harder to communicate with a more limited vocabulary.

You can see a lot of places in iOS7 where the flat design style makes the hierarchy of actions less clear. For instance, compare Twitter’s compose screen on iOS6 to the one on iOS7, the lack of strong contrast between elements makes it less immediately apparent where the primary call to action (Tweet) is located.

Twitter before & after iOS7 redesign: tweet

In parts of iOS7 it can be hard to determine what the primary call to action is because it is only distinguished through subtle visual relationship differences. For example, in the Terms and Conditions screen every iOS7 user sees, Agree is just a bit bigger and just a bit bolder than other elements on the screen despite being the primary action.

iOS7 Terms & Conditions

Of course, it’s still possible to create effective visual hierarchies with less contrast between visual elements but it’s often harder to do so. Which bring us back to Jony Ive’s quote at the start of this article: it’s all about iteration.

In some of our earliest explorations of an iOS7 design, flattening things out resulted in less hierarchy than we felt was needed to make actions distinct. You can see this situation in the example below. The Add, Search, and Create actions all seem to blend together as we’re relying on small visual changes to distinguish these actions.

Polar iOS7 equal visual issue

We faced the same challenge in our list of polls. In our iOS6 design, we had relied on depth (shadows) and texture to separate items in the list from each other. When we adapted to an iOS7 design, simplify flattening these elements once again created hierarchy issues. A number of of visual elements blended together too much making it hard to distinguish individual polls in the list.

 

Polar before & after iOS7 redesign: poll list

It was only after we started to remove visual elements from the poll list that the flatter, simpler look began to work well. We took out the elements that had been background textures, eliminated icons, and introduced a bit of color to separate out actions like Comment and Share.

Polar iOS7 poll list

Removing texture and depth forced the rest of the visual design to work harder to create meaningful distinctions between the various elements on screen. I think this is a key reason why designing for iOS7 is harder. It forces you to simplify in order to provide the same clear visual communication using less visual relationships.

Another area that required significant iteration was our Tab Bar. Thanks to Thanh’s amazing icon work, our Tab Bar not only provided quick access to key features in Polar but strongly reflected our personality as well. When we simply tried to adopt iOS7 styled outlines for our icons, two things went wrong.

Polar Tab Bar before and after iOS7

First, it made the icons harder to parse quickly. Aubrey Johnson recently pointed out hollow icons take more effort to process and we ran a series of polls that seemed to prove out his hypothesis. But even without these theories and data, it was clear the Tab Bar icons were communicating less effectively. Secondly, we lost a lot of our personality. So it was back to iterating until again we found a Tab Bar design that retained our personality and felt at home on iOS7.

Polar Tab Bar iterations

The balance of your application’s personality and the personality of iOS7 is a great reason to not simply change over to an “iOS7 design”. Take the visual vocabulary iOS7 provides as a language but find your own voice.

We also encountered an over-abundance of “flatness” in another one of the key screens on Polar: create a poll. When we first adapted this screen to an iOS7 style, we lost the priority of actions that we counted on depth and texture to establish in our iOS6 design.

Polar before & after iOS7 redesign: create screen

To create a clearer hierarchy of what to do first when creating a poll, I suggested blurring out the secondary elements and putting the focus on the things people need to do first. This was an attempt to use the translucency and blurring effects found in other parts of iOS7 to add some much needed hierarchy to a critical screen design.

Polar blur create screen

Ultimately, we backed away from this approach based on usability concerns and the time it would take to fully explore and build. But we’re still iterating, so this and few more iOS7-designed elements might make it into Polar soon. Install the app to see how our current iOS6 design morphs over to iOS7 in the coming days. We’ve certainly enjoyed the journey and think you will too.

 

Luke Wroblewski

Luke Wroblewski

LukeW is an internationally recognized digital product leader who has designed or contributed to software used by more than 750 million people worldwide.

The HTML5 Scorecard: The Good, The Bad and the Ugly in iOS 7


We’ve been testing the final release of iOS 7 over the last few days against our usual battery of HTML5 tests. Normally we’re effusive about new releases of iOS to the point of fanboy-dom, but this time, and for the first time ever, we’re disappointed in the execution of iOS software. Although there are some impressive performance gains in SVG and JavaScript, the sheer number of bugs and broken features, clearly mark this release as a beta. While nowhere as bad as the Android 3 browser — our all time champ of broken web releases — we recommend that organizations standardized on HTML5 development hold off upgrading until an iOS update fixes these issues.

iOS 7 Bugs & Features

Max Firtman has already done an excellent first pass about the new features, bugs and quirks in iOS 7’s web runtime. If you haven’t read his post, you should read it now. We will not repeat all the findings here; but to review, there are two very big bugs in iOS 7. First, WebSQL permissions to increase the default 5MB of space for an app to the previously permitted 50MB limit no longer work correctly, and require a workaround. Second, “Save to Home Screen” apps are basically broken. Once more than four apps are saved to home screen, the save slots are recycled and sometimes duplicated, and the phone has to be rebooted in order to clear itself. Further, any external URI no longer opens correctly and all JavaScript modal dialogs (alert, prompt etc.) are disabled. Finally, If your app uses AppCache and you are managing state via hash or other mechanisms, the history object will never update, disabling history.back.

“We recommend that organizations standardized on HTML5 development, hold off on upgrading to iOS 7 until an update fixes these issues.”

Beyond these major bugs, there are also some very troublesome design decisions in iOS 7. First, there is no way to hide the URL bar using JavaScript (and the user no longer has a “full screen” button in mobile Safari). This will throw a wrench into layouts if your app relies on absolute positioning. One workaround, suggested by Andrea Giammarchi, is to ask the user to take an action (such as swiping up) in order to reset into full-screen. But there is no programmatic way to do this (as of yet). And once you are in full-screen, tapping anywhere in the bottom region first summons the browser chrome and there is no way to cancel this. This makes for poor UX for bottom-positioned toolbars: the first user tap summons the browser chrome, which boosts the tool-bar up the page, and then requires the user to tap again to take an action. There are related problems with the status bar which can be worked around.

In addition to these decisions, right and left swipe gestures within about 10 percent of display edge are always grabbed by iOS and treated as a forward/back request, and not passed to the browser. Furthermore, if you’ve built back/forward behavior into your app using history push-state, then accidental swipes will load the previous state as if it was a prior web-site. This will probably be unexpected behavior. Chrome for Android was the first browser to introduce this behavior, but has now removed it based on feedback from web developers. We hope Apple follows suit quickly.

In our own testing, we discovered a number of additional bugs in the iOS 7 runtime.

  • On iPad, an orientation change when an input is focused shifts content unpredictably, and causes screen rendering artifacts.
  • Launching and quitting the same home screen app several times can hard lock the device requiring a hardware reboot.
  • requestAnimationFrame animations do not appear to background correctly, and cause performance degradation in RAF animations on the active page. This defeats one of the major purposes of using RAF animations.
  • On iPad, if the document body is set to 100 percent height, content is shifted upwards by 20px in landscape mode. This can be worked around by calling window.scrollTo(0, 0) on the orientationchange event.
  • In certain cases, resizing a composited layer (an element with 3D transform) does not repaint it correctly. Instead, the cached bitmap is stretched.
  • CSS Animations will sometimes fire before implicit z-indexes have been calculated, resulting in incorrect z layering during an animation.
  • Scripts running within Web Workers are not suspended unless either the originating page is explicitly killed, or the Safari process is explicitly terminated. Neither switching to another tab, nor minimizing Safari, nor turning off the screen seem to stop Worker execution. This is a serious issue that allows any web page to drain the battery of an iOS 7 device and slow down performance of the whole system without a user alert.

Performance Characteristics

In addition to feature/bug testing, we also put iOS 7 through a battery of our standard performance tests on an iPhone 5 running iOS 6.1 vs. iOS 7. There are some remarkable increases in benchmark performance as well as some very notable misses. First up, we want to note that something odd has happened to the JavaScript timer on iOS 7. In previous versions, iOS had an exceptionally well implemented timer: 4ms with extremely good consistency (see below). But using John Resig’s standard timer test resulted in this odd profile: a timer that jumps between 4ms and 12ms with clockwork regularity and much more noise than iOS 6.

iOS7 timer
Figure 1A: JavaScript timer resolution: iPhone 5/iOS 7

iOS6 timer
Figure1B: JavaScript timer resolution: iPhone 5/iOS 6

Perhaps this is a limitation of the test in some way, but it’s certainly nothing we’ve ever seen before, and one more reason to make sure that you use requestAnimationFrame for JavaScript animation.

In good news, raw JavaScript performance has increased substantially. SunSpider 1.0 is about 15% faster on iOS 7 vs iOS 6.1, and iOS 7’s Octane score is 70% better vs. iOS 6. Some Octane tests showed dramatic speed-ups: Navier-Stokes performance increased by almost 4x. By comparison, Safari on my 2 year old MacBook clocks in at 5,600 — so iOS 7 is now 50% as fast as desktop Safari on Octane! This is either some serious JIT hacking, or we also speculate that there may be some GPU offloading of general computation in iOS 7?

iOS7
Figure 2: Octane Benchmark - iPhone 5 iOS 6 vs. iOS 7 (higher is better)

But it’s not all good news on the performance front. During the iOS 7 beta, we were concerned at the very slow DOM interaction benchmarks that we were seeing from Dromaeo on iOS 7, and expected that Apple would get performance back to snuff before final release. For DOM traversal, attributes and modification, performance is now back at iOS 6 levels, which is good. However DOM Query is still 50% of iOS 6 speed. This is a major concern for the many HTML5 apps that perform high numbers of DOM queries, and this needs to be on Apple’s fix-list for its next update.

iOS7
Figure 3: Dromaeo benchmark - iOS 6 vs iOS 7 (iOS 6 = 1.00 - higher is better)

Graphics Performance

Test of Canvas performance show a minor improvement in iOS 7 — about 10% in the Fishtank test and on Mindcat microbenchmarks. But SVG is the real revelation. Thanks to a switch to a new drawing algorithm, SVG Path drawing speed has improved 200x. Yes that’s literally 200 times faster. In iOS 6, a 10,000 segment SVG path took about 11 seconds to draw. In iOS 7 that’s now 53 milliseconds. iOS is now 6x faster than the Surface RT — the previous champ at SVG drawing performance.

iOS7
Figure 4: SVG Path Drawing Benchmark (lower is better)

Other SVG capabilities experience similar speed-ups. Some SVG Filter operations now appear to be GPU accelerated — which means that meaningful filter animations are now possible on iOS. But performance is dependent on specific filters. Color transformations (Color Matrix & Color Curves) and displacementMaps are fast. Complex compositing and lighting effects are still slow.

And now the real killer. In the rush to get iOS 7 out the door, making sure SVG animation via JavaScript was fast seems to have been dropped on the floor. Animating SVG with JavaScript is now a hit or miss proposition. Animating 500 SVG circles used to be 50 fps on iOS 6. On iOS 7, the animation simply freezes after a few frames. We tried other apps that have interactive UI elements built with SVG, and we saw a similar severe performance degradation.

iOS 7: A Beta Release of Web

Given all these bugs and issues, combined with some genuine major advances, it’s hard not to interpret this as a beta release that was rushed into production for the release of the iPhone 5S. In a way, it reminds us of the Android 3 release — which was rushed into production for the Motorola Xoom tablet — with severe bugs and performance deficiencies. We’re eagerly awaiting the release of the first update for iOS 7 when we hope Apple delivers on its usual commitment to quality.

But beyond bugs, the design decisions in iOS 7 clearly privilege consumer content over business applications. We remain convinced that Enterprises that want to deploy HTML5 applications to mobile devices can’t rely on consumer browsers and need a secure and predictable mobile environment designed for business applications. iOS 7 has convinced us that more than ever that the future of HTML5 app deployment for business is Sencha Space.

Written by Michael Mullany
Michael Mullany is Sencha’s CEO. He has held various product and executive marketing roles at influential Silicon Valley startups Netscape, Loudcloud, and VMware. He holds an MBA from Stanford University and a BA in economics from Harvard College.

Safari on iOS 7 and HTML5: problems, changes and new APIs


Safari on iOS 7Apple has rolled out iOS 7 with iPhone 5S and iPhone 5C . As expected, Apple has published just 10% of the necessary information for web developers, and I can say without fear of mistake that this is the buggiest Safari version since 1.0. In this post I’ll show you the new APIs and abilities and most of the problems that you will need to deal with right now if you have a website or a webapp.

In a nutshell

Don’t have time for reading the long post?

  • UI Changes: toolbar tint, problems with new full-screen navigation, new home screen icon sizes; no <title> usage on iPhone; possible conflicts with new gestures.
  • New devices: nothing new about them for web developers, same as iPhone 5.
  • HTML5 markup: video tracks, <progress>, REMOVED support for input type=datetime
  • HTML5 APIs: Page Visibility, AirPlay API, canvas enhancements, REMOVED support for Shared Workers, Web Speech Synthesis API, unprefixed Web Audio and Animation Timing, Mutation Observer and other minor additions. BIG PROBLEM with WebSQL using more than 5Mb.
  • CSS: Regions, Sticky position, FlexBox, ClipPath, unprefixed Transitions and other enhancements
  • Home Screen webapps: SEVERAL SEVERE PROBLEMS (for example, no alert support!)
  • Native webapps: Web View Pagination, JavaScript runtime for native apps and video playing new abilities

 

The new browser

Safari, as well as other native apps, has received the biggest update in the user interface and experience since version 1.0. These changes will affect how users interact with websites and how your webapp will react.

Toolbars’ tint

Safari will now tint the toolbars (URL bar and bottom toolbar on iPhone) based on: a) the background color when loading the page and b) the current main color behind the bars while scrolling.

If you want to “hack” the initial tint and have different backgrounds for the body and the tint without adding noise to the HTML (such as new containers) just use the following CSS hack:

body {
background-color: blue; /* for the tint */
background-image: linear-gradient(to bottom, green 0%, green 100%); /* for the body */
}

In this hack we define both background color and image; the content will use the image, in this case a gradient (it can also be a data URI 1px image). In the next examples, you can see the first two samples with the same color (just a background) and the last examples with one tint color and other background color for the body.

tint

 

Full screen and big problems for HTML5 apps and games

Web browsing is now always in full screen on iPhone and iPod touch. When the user scrolls the page in portrait orientation, the bottom toolbar will disappear and the URL bar is transformed to a small semi- transparent bar at the top. On landscape, after the user scrolls the page the bottom toolbar and the Host domain bar will both disappear, leaving it in complete full-mode.

The toolbar and full URL bar will appear again when: 1) the user taps on the domain host at the top or 2) the user starts to scroll back to the top.

The next picture shows how the UI changes before and after scrolling in landscape and portrait mode:

fullscreen2

 

The problems are:

  • The resize event is not firing anymore when the toolbar is appearing/disappearing
  • We can’t detect changes with JavaScript or media queries
  • The old hack of using window.scrollTo to hide the URL bar doesn’t work anymore; therefore there is no way to hide the URL bar or toolbar without user’s intervention scrolling the page.
  • If you are not using a natural scroll, you will have problems (detailed below).
  • UPDATE 19/9: The bottom part of the canvas is not interactive anymore (details later)

If you are using a “non natural” scrolling layout, such as iframes, sections with overflow:scroll or a JavaScript-based scrolling mechanism, toolbars will never hide. And even more problematic, if somehow the user gets into fullscreen mode he will not be able to go back again to normal mode. As an example, see the Twitter website (using overflow: scroll) on landscape mode where your scrolling area is less than 50% of the screen and toolbars never go away.

twitter

To be honest, if you go portrait and then landscape again, sometimes, you will get full-screen without scrolling, but you can’t get out of it. You need to test it to get the idea of the problem.

Scrolling back to restore toolbars are making things complicate to HTML5 games also. Because this post has started in the Apple Forum while in Beta 1, lot of people were complaining about this problem, such as:

  • Richard Davey: “This is actually a real issue for us. It has broken the display of all of our games on the BBC site (try anything on http://www.bbc.co.uk/cbeebies/ for example). With the removal of the full-screen button and the removal of this ‘hack’ we’ve no way to make our games go full screen. So they are crammed into a tiny window in the middle of the browser on iPhones. (…) When you enter a page in landscape mode, only 2/3rd’s of the screen area is available. Controls cover a full 1/3rd of the screen.(…)
  • TheFlashGuy: “We need more control over the appearance / disappearance of the browser bars when in landscape mode. It’s far too easy for a user to break out of this mode just by touching the top or bottom of the screen. This breaks a lot of websites and web apps whose major ui nav elements tend to sit in the top or bottom of the content area”

There is no way to have a truly fullscreen experience on your website. This was one of the wonderful aspects of iOS 6, and losing it is a major step backwards. Richard Davey.

 

 

Bottom toolbars and interactive elements (update 19/9)

When in fullscreen mode, the bottom portion of the page is not interactive anymore. This problem affects any toolbar, link or form item that is in the bottom part of the viewport while in fullscreen mode (after scroll). For example, fixed toolbars at the bottom are one example.

When you click on that portion of the viewport, it doesn’t matter where do you click, it will just fire the full-screen dismiss action. Therefore, Safari toolbars will appear and you will need to tap again on the interactive item to activate it. Therefore, two taps for action a button for example. To test it go here, scroll and try to click on the bottom toolbar.

For example, if you try to click Albums in the next image, it will just open the Safari toolbar and you need to click Albums again to go there.

bottom-toolbar

Title

The next big change in Safari’s UI on iPhone is the title’s area. The page’s title on iPhone was replaced by the current host (the domain) as you can see in next image. The page’s title is only available when browsing tabs on iPhone.

On iPhone with iOS 7 your page’s <title> will be ignored while the user is browsing the document

On iPad there is no fullscreen mode; the toolbar and title’s bar is always visible.

New Add to Home button

iOS 7 has changed the Share icon and it has a new Add to Home Screen button.
The whole UI has changed, including new icons replacing the Share icon with a new style, so every website that is inviting the user to add it to bookmarks or to the Home Screen need to update the icon.

Gestures

The operating system and Safari itself now offer new gestures that might impact your website, mostly if you are detecting gestures yourself.

A) Control Center: it appears when you swipe up from the bottom of the screen. In this version, because of the full screen, the bottom of the screen might be part of your website and not the Safari toolbar. Therefore, be careful when suggesting the user to do a swipe up from the bottom of the canvas.

B) History Gesture: The second and probably more problematic gesture is the swipe right and left from the borders; Safari will trigger the back and forward action in the browsing history à la Internet Explorer on Windows 8 mode. This gesture might have some conflicts with your website if you are inviting users to swipe left or right without some nice margins around (but to be honest, you have the same problem right now with Chrome too).

The problem is even weirder on single page webapps (inside Safari) when using the History API or using a hash hack to manage app states. When the user starts a back gesture, he will see two images of the same app, but the user will be on the same app. And when you have side-by-side scroll gestures, such as Yahoo! homepage you might have usability issues if the user starts the gesture from the border (it even trigger touch events for just a while):

The swipe right and left gesture from the borders will trigger a back or forward action in browser's history.

This gesture and the back animation (slide to the right) is also making conflict with some UI frameworks, such as jQuery Mobile or Sencha Touch as when the user gestures to go back, two animations will be rendered (by the browser and after that by the framework). Also, when the previous page was left at one specific scroll position, the snapshot during the slide animation is ok but then the page loads from the top, not keeping the scroll position.

There is no way to prevent these gestures as they are managed by the OS or the browser itself.

Hopefully, the History gestures are not available on home screen webapps or UIWebViews (such as PhoneGap apps)

Icon sizes

The new OS icons are 5% bigger in 7.0 then in previous version, for example 120×120 on Retina iPhone devices instead of the previous 114×114. System icons are also flat now and they don’t have the shiny effect anymore, so we might want to update our icons to match the new design. To do that we can use the same apple-touch-icon link with the new sizes values.

The apple-touch-icon precomposed version is still supported but it will make same results as the apple-touch-icon as now there are no shiny effects anymore on icons. If we define both, the precomposed version will take precedence.

Available icon sizes for iOS 7 are:

  • iPhone / iPod Touch retina: 120×120
  • iPad non-retina (iPad 2 and iPad mini): 76×76
  • iPad retina: 152×152

We need to remember that iOS 7 is not available for any non-retina iPhone-factor device. If we don’t provide the new sizes, the device will pick the iOS 6 related one. If you want to cover all the possible icons for iOS, the code will look like:
<!-- non-retina iPhone pre iOS 7 -->
< link rel="apple-touch-icon" href="icon57.png" sizes="57x57">
< !-- non-retina iPad pre iOS 7 -->
< link rel="apple-touch-icon" href="icon72.png" sizes="72x72">
< !-- non-retina iPad iOS 7 -->
< link rel="apple-touch-icon" href="icon76.png" sizes="76x76">
< !-- retina iPhone pre iOS 7 -->
< link rel="apple-touch-icon" href="icon114.png" sizes="114x114">
< !-- retina iPhone iOS 7 -->
< link rel="apple-touch-icon" href="icon120.png" sizes="120x120">
< !-- retina iPad pre iOS 7 -->
< link rel="apple-touch-icon" href="icon144.png" sizes="144x144">
< !-- retina iPad iOS 7 -->
< link rel="apple-touch-icon" href="icon152.png" sizes="152x152">

Bookmarks and Favorites

While on bookmarks there are new icons available (see left image below), it seems there is no way to define those icons specifically yet, as well as the text.

For the favorites (see right image below) that appear when you click on the URL bar, it seems to use the apple-touch-icon link but it doesn’t follow any sizes rule and I’ve found weird situations, such as some websites with a proper link element that is not taking the icon for favorites. XXXX

favorites2

The new devices

In a few days, the iPhone 5S and the iPhone 5C will be available on the market and the good news is that from a web development perspective they are exactly the same as the iPhone 5. Same screen size, same pixel density, same abilities. They may be faster, but nothing to worry about from a coding perspective.

The new Touch ID feature (fingerprint scanner) is not available to web sites yet and the 64-bit CPU will not change anything from a JavaScript developer’s perspective. Having said that, on the iOS Simulator now you have the ability to emulate a 64-bit CPU.

HTML5 markup support

Video tracks

The video HTML5 element now supports the track child for subtitles and/or closed captions. We can support multiple languages and they will appear in a picker inside the video player. The user can change the language and/or disable the captions from the track picker.

cc1

For all the possible track types (kind attribute), it supports only captions and subtitles and we have to define the language in the srclang attribute in ISO format (such as en for English). Subtitles are useful when the user can hear the audio but she/he doesn’t understand the language and captions are for when the user can’t hear the audio, so it includes additional information about what is happening (such as ‘background musing playing’).

cc2ch

Defining the label attribute for track is worthless because on iOS it will be ignored and the language name will be used instead for the menu with an optional CC suffix if we are using captions instead of subtitles as the kind value.

<video>
< source src="myvideo.mp4">
< track kind="captions" src="my-captions-en.vtt" srclang="en">
< track kind="subtitles" src="my-captions-fr.vtt" srclang="fr">
< /video>

Tracks can be accessed through a JavaScript API and we can use it to loop through all the cues on the track file. That might be useful only on iPad where we can truly embed the video in the web canvas instead of a always fullscreen mode on iPhone.

Track elements should follow cross-domain policies, as by default, the video and track origins must be the same. Using JavaScript we can detect if tracks are available using webkitHasClosedCaptions as in

var hasCC = document.querySelector("video").webkitHasClosedCaptions;

We can also change captions visibility using webkitClosedCaptionsVisible boolean property of every video element.

Styling captions

From a CSS perspective, iOS 7 supports the new ::cue pseudo-element but we can only change text-shadow, opacity and outline. All other properties, such as color and font styles are ignored.

::cue { opacity: 0.8 }

More about the Track element and API (have in mind that not all the API might work on Safari).

Progress and output elements

The <progress> element is now supported, creating a progress bar on the screen based on max and value. There is no indeterminate progress support as in other browsers, so it’s only suitable when we know the determinate value of the activity’s progression.

<progress max="100" value="40">

The <output> element is now supported but I don’t think you will be so excited about it :) .

About <meter> it seems to be supported, all the content is ignored but nothing is rendered on the screen, so I think it’s a bug.

REMOVED: Datetime input type

Following Google Chrome, now Safari on iOS doesn’t support the datetime input type anymore and it will fallback to text. This type was deprecated in the standard in favor of using two inputs, date and time for the same purpose. The problem is that datetime was compatible with iOS from version 5.0 to 6.1; if you are using it, be careful!

The week input type is still not available, but now instead of falling back to a text input type, it’s rendered a non-interactive control

datetime

If you are using a input type=”datetime” you should act immediately as it is now rendered as a text input type.

Seamless iframe

The new boolean seamless attribute for iframes is now available on iOS 7 that will create a borderless iframe in your website. The iframe will not have scrollbars and, by default, it will get the height of the inner content appearing in the website as using the space of any other block element in the DOM.

<iframe seamless src="mypage.html"></iframe>

HTML5 JavaScript APIs

Let’s start with bad news: no WebGL, FullScreen, WebRTC, getUserMedia or IndexedDB support yet.

In terms of new APIs available we have:

  • Page Visibility API
  • XHR 2.0 full implementation
  • Video tracks API (already covered)
  • AirPlay API
  • CSS Regions API
  • Canvas enhancements
  • Removed support for Shared Workers
  • WebSpeech Synthesis API

Page Visibility is the API -webkit-prefixed on iOS 7- to detect when our tab goes foreground and background. You can try a live demo here. XMLHttpRequest 2.0 spec fully compatible means that now we can request ‘blob’ as a response. The Video tracks API was already covered quickly and it allow us to query and navigate through all the tracks and contents on any media element.

The CSS regions API appears as part of the CSS Regions spec (covered later) and is basically the prefixed webkitGetFlowByName function available on every DOM element.

About the Canvas 2D Drawing API, we have now the globalCompositeOperation attribute on the canvas context that allows us to define the blending mode (such as multiply) when drawing different a layer on top of other. We also have a new Path constructor that we can then draw on the canvas’ context allowing us to store these paths for later usage instead of drawing them directly on the canvas.

AirPlay API

The AirPlay API needs some explanation. AirPlay is the wireless streaming solution from Apple that allows some devices to stream content to different other devices, for now usually an Apple TV. While Safari already supported x-webkit-airplay HTML attribute to define if we want AirPlay or not, we couldn’t customize the experience from HTML5 before.

The API allows us to customize the player and get information and events about streaming through AirPlay. Every video element has the eventswebkitplaybacktargetavailabilitychanged and webkitcurrentplaybacktargetiswirelesschanged. They remind us how terrible is the idea of not using underscores, camel case or other technique for event names convention in JavaScript :S. The first event will fire when there is a new AirPlay target -such as an Apple TV- available or it’s not available anymore; and the second when the playback status on one target has changed.

I think webkitcurrentplaybacktargetiswirelesschanged has won the record: the longest JavaScript event name ever.

If there is a streaming target available, we can then offer the user a button to pick the target calling the video webkitShowPlaybackTargetPicker function.

While there is no official documentation on this API yet, you can check the video ‘What’s New in Safari and WebKit for Web Developers’ from the WWDC session where they covered this topic.

Background execution

Now we have several use cases for background execution:

  • If the user is changing tab (Tab selection screen), your code is still executing but the image is frozen
  • If the user is changing apps (multitasking mode), your code is still executing and the image is updated
  • If Safari is in foreground but your website is in a background tab, your code is frozen and Safari has a snapshot of your last execution for UI purposes
  • If Safari is in background your code is frozen

WebSpeech Synthesis API

UPDATE 19/9: I could make this API work, so it is officially supported and working.

The WebSpeech API allow the website to record and transcript audio, as well as synthesize text to voice using internal voices in the operating system.

Safari on iOS 7 includes just the Synthesis API (text to speech) but not the APIs for listening for audio from the microphone. You can query on all the available voices to speak in different languages and on a real device it is returning 36 voices (sometimes you refresh the page and you get 0, a bug I think) using speechSynthesis.getVoices(). In terms of English, you have female voice using en-US and male voice using en-GB. I’m not an expert in voice recognition but I feel that the voices in this API are not the same as Siri that sounds much natural in iOS 7.

To make JavaScript to speak from your website you can use a shortcut version in the default language or you can define different properties as the following examples:

speechSynthesis.speak(new SpeechSynthesisUtterance("Hello, this is my voice on a webpage"));

var speech = new SpeechSynthesisUtterance();
speech.text = "Hello";
speech.volume = 1; // 0 to 1
speech.rate = 1; // 0.1 to 9
speech.pitch = 1; // 0 to 2, 1=normal
speech.lang = "en-US";
speechSynthesis.speak(speech);

From the SpeechSynthesisUtterance object we can also bind to some events, such as start and end but please don’t use alert inside those events or your whole Safari will freeze (don’t ask me why).

The speakable string can be just plain text. While the standard supports also an XML document in SSML format (Speech Synthesis Markup Language) for input, Safari on iOS is just reading the XML :) .

It’s important to keep in mind that the Speech Synthesis API works only after a user’s explicit action, such as clicking on a button so you can’t initiate a speech on the onload or on a time-base. Try this online demo browsing to ad.ag/jmawam on your iOS7 device

Other changes

  • MutationObserver
  • Unprefixed Animation Timing API (also known as requestAnimationFrame)
  • Unprefixed transitionend event name
  • Unprefixed URL
  • Unprefixed WebAudio API and new advanced abilities
  • New DOM properties hidden and visibilityState
  • window.doNotTrack support

WebSQL bug

  • Using WebSQL API will have big issues (DOMException) while trying to create a database bigger than 5Mb. On previous versions, the limit was 50Mb with user’s permission. Because of a bug, when you try to store more than 5Mb the user will get a permission dialog but just for 5Mb only. Even if the user grants you permission because it’s for 5Mb only, you will get an exception trying to get more. It’s a BIG BUG.

Update 19/9: According to tarobomb from New York Times, if you request less than 5Mb when you first create the database and then you try to store more data (up to 50Mb) the proper confirmation dialog will appear (first 10Mb, then 25Mb and finally 50Mb) and you will finally be able to store more than 5Mb.

CSS Support

In terms of new specs supported (mostly webkit prefixed) we have:

  • Sticky Position
  • CSS Regions
  • CSS Grid Layout (not working)
  • CSS FlexBox
  • Dynamic Font types

Sticky position

Sticky position is a new experimental feature that allow us to fix an element to the viewport but only when it’s off the visible area (usually after a scrolling action). It’s like mixing position: static with position: fixed when the static position moves the element outside of the visible viewport. If you have more than one sticky element, they will all accumulate in the same area -defining same position properties- creating a nice effect while scrolling similar to native UITableView sections.

UPDATE 19/9: Some reports indicate that this feature was available on 6.1 as well (but the community didn’t get it so I’ll keep it here).

h1 { position: -webkit-sticky; top: 10px; }

You can try a demo.

sticky

CSS Regions

With CSS Regions -spec proposed by Adobe- we can create magazine-like designs to flow content through different containers. Because of the nature of the screen size we’ll use this new flow mechanism more on iPad websites and webapps.

Selecting content flowing into different regions is not allowed on iOS. CSS Exclusions, a way to define shapes for regions, usually coming as a Regions companion, is not available yet.

You can try some online demos

CSS Grid Layout

CSS Grid Layout is other layout new spec from the W3C (proposed by Microsoft and already available in IE10). All the new CSS properties (-webkit-grid-X) are there available but I couldn’t enable using display: grid or display: -webkit-grid. I’m not sure if there is a different way to enable it or is it that it’s not ready yet.

CSS FlexBox

The final spec for CSS FlexBox is finally here and it allow us to stop insulting floats and clear everywhere to layout elements horizontally and/or vertically. To use it we should use display: -webkit-flex to a container and apply different properties available

Dynamic Fonts

Dynamic fonts are a new font type available in iOS 7 that adjusts weight, letter-spacing and leading based on current font size to improve legibility. We can take advantage of this new feature from HTML, using new -apple- prefixed constants (maybe because webkit is not going to use prefixes in the future?). We have a big list of constant, such as -apple-system-headline1, -apple-system-body and -apple-system-caption1.

h1 { font: -apple-system-headline1 }
p { font: -apple-system-body }

Other CSS improvements

There is no good news for media queries as resolution attribute is still not supported. Well, there is something new, such as the ability to query on min-color-index and max-color-index that is completely useless :)

We also have some minor updates, including:

  • Unprefixed CSS Transitions (and the transitionend event).
  • CSS Clip Path to clip contents based on shapes, including circle, rectangles and polygons
  • Kerning and Ligatures on fonts are enabled by default
  • Background properties now gets more compatibility with different values
  • box-decoration-break: slice/clone
  • tab-size style
  • overflow-wrap: normal/hypernate/break-word
  • support for the units ch and vmax
  • mask-type: alpha
  • new ::cue pseudo-element already covered in the video track section
  • New -webkit-background-composite property (but I couldn’t make it work)

Home-screen webapps

If you are using Home Screen webapps, I have bad news for you: too many bugs are around this platform in this version.

The only good news is now it seems we don’t have any limits for WebSQL Storage when in full screen; we don’t need user’s permission.

Big issues

There are some big issues on home-screen webapps:

  • Standard dialogs are not working at all, such as alert, confirm or prompt.
  • Webapps can’t open an external URI, such as a website in Safari, make a call, open AppStore, etc. Any URI is just ignored.
  • If you install more than 4 apps, the home screen will do strange things, such as replacing one webapp with another one. You will start seeing clones of the same webapp. The same happens when you open different webapps at the same time. Just try it on your device: go to app.ft.com, install the webapp; go to pattern.dk/sun, install the webapp; repeat the operation several times and you will see the mess on your home screen. Restarting the device seems to solve the problem.
  • When in portrait mode and a text input, a select or a date picker is in focus, media queries will honor orientation: landscape and the resize event will fire. This behavior (bug?) happens on home screen webapps and Web Views, but not on Safari.
  • UPDATE 19/9: If you are using Application Cache and also managing states through hash or other technique, the history object will not keep your navigation history, therefore history.back() will never work and history.length stays in 1 forever. (Thanks to 10+ people who reported this problem!)
  • UPDATE 19/9: Cookies are not transferred between your website and your webapp when installing the icon on the home screen (for authentication purposes for example). It was working until 6.1 and now it’s not working anymore. (Thanks Joseph Pearson for reporting this; a test suite here.)

Status bar

If you don’t provide any apple-mobile-web-app-status-bar-style meta tag or if you provide one with the default value, the status bar will become black over black, so… just a black area on the screen (on some devices you will see just the battery icon). The user will not see the clock and all the other icons on the status bar.

The black value works ok but it’s not in full mode as in iOS 7 new style. Lastly, If you are defining the apple-mobile-web-app-status-bar-style as black-translucent it’s not black-based anymore, it’s just fully transparent following the new iOS full-screen mode for apps (previous image, at the right). Unfortunately it seems there is no way to define if our background is clear or dark so we need to test how the icons and clock look like over our background. UPDATE: The text seems to be always white.

In the next picture you can see the default status bar, the black value and the black-translucent value in action on iOS7. statusbar2

 

Launch image and multitasking

For the new multitasking system, when having a home screen webapp, the system is using a white image, not the launch image and not the current status of the app for the preview. The only exception is when the webapp is still the active app where you see the right snapshot. In the next example, we can see the Financial Times webapp with a white snapshot even with a correct Launch image and an active execution.

multitask

Luckily we don’t have the iPhone 5 bug for home screen webapps anymore that was letterboxing the app (a year after it was found). We don’t need the viewport hack solution anymore.

Native webapp development

If you are developing hybrid (native webapps), such as Apache Cordova (PhoneGap) apps, there are some news for you. First, no Nitro engine yet.

Paginate mode

When using UIWebView for rich content in native apps or for native webapps (hybrids), we can now use a Paginate feature for an ebook reading experience without vertical scrolling (a la Windows 8 app experience). This feature is perfect if on the app we are showing dynamic content, so we can’t pre-optimize it for pagination. We have different Objective-C properties to configure the pagination process. To enable it, we need to use something like:

myWebView.paginationMode = UIWebPaginationModeLeftToRight;
myWebView.paginationBreakingMode = UIWebPaginationBreakingModePage;
myWebView.gapBetweenPages = 50;

These properties will convert any HTML document in the web view in pagination mode (divided horizontally in pages).

Other improvements

  • For native development -not necessarily using Web View- the iOS SDK now includes a JavaScript runtime: JavaScript Core framework providing wrapper Objective-C for standard JavaScript objects. We can use this framework to evaluate JavaScript code and also parse JSON
  • With a new property of the Web View, we can now have inline playback mode for HTML5 video instead of the default full screen mode
  • With a new property of the Web View, we can enable autoplay for video when in a native webapp.
  • There is also a SafariServices Framework that on iOS 7 is useful to programmatically add URL’s to Safari reading list.

Remote debugging

If you have a MacOS and you are used to remote debugging with your iOS, you must update Safari to version 6.1 and iTunes to version 11.1 to have the ability to communicate with an iOS 7.0 device. At the time of this writing, Safari 6.1 is only available as a Preview.

While the abilites inside the debugger are the same as in the previous version the user interface has changed a lot with a much cleaner design.

Screen Shot 2013-09-18 at 4.02.56 PM

Not there yet

While the list is big, in this case I will list features that were announced for Safari 7 for Mac but are not there on Safari on iOS:

  • Web Speech API (it’s there but it’s not working on iOS)
  • Push Notifications from websites. This will be a great addition to iOS but it will only be on Mac OS.
  • Background Blend mode
  • Grid Layout (it’s there but it’s not working on iOS)

Anything else?

Most of the bugs and problems in this post were posted a few months ago in the private forum and lot of people have sent bug reports and ask desperately on the forum for a solution. I can’t believe that Apple can’t give answers to web developers and they are not event executing some basic test suites to detect some API bugs.

Did you found any other API or support? Any other bug? Feel free to add your comments below using any of the options available.

Maximiliano Firtman


Maximiliano Firtman

Hi! I’m Maximiliano -If you speak English, maybe Max is better for you ;) -. I work in mobile+web development doing development & consulting, book writing, training and public speaking.You can follow me on twitter at @firt.

Why You Need to Become an “Independent Publisher”


Image of Old Books on Shelf

If you’re thinking about writing a book, you should be thinking about self-publishing it.

More and more established writers are choosing the independent path. In fact, the number of independently published titles tripled between 2006 and 2011.

There are many reasons for this change, including retaining artistic direction, a higher percentage of profits, and the increasing lack of editorial and marketing support offered by traditional publishing houses.

But that’s just the tip of the iceberg …

Yes, modern publishers rarely help their smaller authors do much with marketing. But the good publishers offer more than you think when it comes to editing and production. Producing an editorially sound product takes much more than creativity.

I just self-published my first science fiction novel, Exodus. It’s my fourth book overall, and my first independently produced one.

I’d like to let you in on a few valuable things I’ve learned in the process …

Think independent, not self-publishing

While some still claim a stigma exists for non-traditional publishing, I disagree. But would-be authors should understand the commitment of independent publishing.

Just like a painter can sell her/his own work, so can a writer. Yet many talented painters are not good at presenting their work or selling it. The same could be said for authors.

Committing to independent publishing means an author needs to go beyond writing to produce a strong book, and then sell it.

James Altucher talked about the need to invest in editing in his comprehensive Copyblogger post on self-publishing. Based on my experiences, he made incredibly valid points on production.

Self publishing a sub-par book that lacks writing quality demonstrates an amateur writer who may not care about their product or writing career. Guy Kawasaki and Shawn Welch hammer this point home over and over again in APE: Author, Publisher, Entrepreneur.

This is why I call myself an independent publisher, and not a self-publisher. Choosing to independently publish creates a mental decision path to move from hobbyist to a professional publisher.

My first two traditionally published books were riddled with typos, a direct result of the publisher’s lack of editorial resources. As the books entered the marketplace, critics decried the poor editorial quality of the books.

The stigma from these two experiences annoys me to this day. Because of that, I decided not to half-ass my own novel. I undertook a significant editorial production process to make sure Exodus was a high quality book with few errors.

I became willing to invest in the arduous editing and production necessary to succeed.

Hundreds of hours were spent producing a book with strong editorial quality. Here are the steps I took …

The independent writer’s worst enemy

Generally speaking, writers cannot edit themselves. They invariably become blind to their own stylistic errors.

While I know some are better at self-editing than others, I struggle with my own work.

This copy blindness convinced me that I was the biggest danger in producing a successful independent novel.

Consider that many writers refuse to accept criticism on vision, style and the minutiae of edits throughout a long text. If I treated my own work like a creative diva, then I would have surely submarined it.

Knowing that I am my own worst enemy, I hired several other key parties to work on Exodus. Three different editors worked on the book, two for development and one to proof the manuscript.

The value of professional help

When the editors weighed in, I accepted almost all of their feedback. It was a decision to fire myself as the editor-in-chief. Instead I trusted the professionals brought on board to strengthen the text.

Paying other people to critique the book was a necessary step, in my opinion. Friends who edit bring their own liabilities, from simply not editing the book to a lack of objectivity.

My hired editors had work to do, and didn’t sugarcoat their feedback.

In one case, I had written much of the book in AP Style, but stylistic conflict existed. The final proofer adamantly insisted on using the Chicago Stylebook. So I agreed, and accepted wholesale style changes.

You may wonder about hiring two developmental editors. I did so to uncover all of the book’s weaker points. While 75% of their edits overlapped, 25% did not. The book was better for the extra mile.

All of the editors finished their work on agreed upon timetables. This helped me meet my target publishing date of August 26th, just in time for the 71st Annual World Science Fiction Convention.

Frankly, without their help Exodus would not be a strong text.

Do not go cheap on production

One of the surest signs of a self published book is poor workmanship from a visual standpoint. James made this point in his post on self publishing, and so did Kawasaki and Welch in APE.

The cover design is a critical component of the book.

Not only does the cover lend a visual identity to the text, it also serves as the icon for the book online. If an independent author is fortunate enough to become a bestseller, the book will also sit on bookshelves, again making the cover a critical advertising property on the shelves.

I avoided cookie cutter services for my book cover, and I definitely didn’t design the cover myself. My Photoshop skills are worse than my editing prowess, if at all possible.

Instead, I hired a designer to produce the cover and associated advertising.

The result is a pretty cool design that stands out. In addition, a second designer was used to lay out the advance copy PDF, again to provide a strong visual presentation.

For the electronic and print editions, each online reading format has its own requirements. Do what you can to meet and exceed these requirements so the book looks good and reads well.

Larger book publishers will usually produce a video trailer for a book. This is part of packaging the book for the modern era. Don’t skimp on this step.

Usually videographers will cut a deal for writers (and artists). Shop around until you find the right deal.

I have definitely benefitted from Exodus’s trailer already, and expect it will continue to be a strong piece for the book.

Marketing your book and beyond …

There is so much to say about marketing a book, and that has been done here and other places already.

Just know that whether you are an independent book publisher or a first time author with one of the traditional publishing houses, you will have to market your own book.

If you publish it, readers will not necessarily not come.

But before you get to even that stage, you need a strong product. Great marketing can’t save a bad product.

To me, that is the value of taking a committed approach to independent publishing.

Whatever you decide to do with your books, don’t short yourself if you choose the independent path. Your work and reputation depend on it.

Where do you fit in this world of independent publishing? Let me know in the comments.

P.S. If you would like a free PDF copy of Exodus, click this password protected linkto download. The password is freechoice, and the free download will be available until September 13.

About the Author: Geoff Livingston is an author, public speaker and strategist who helps companies and nonprofits develop outstanding marketing programs. He brings people together, virtually and physically for business and change.

How to Use Ebooks Strategically and Reach Your Content Marketing Goals


 

Image of Stacks of Books

Have you written an ebook yet?

Some of the most-respected content marketers have embraced ebooks for marketing their businesses and as a source of income.

Their goals vary, and so do the formats they prefer. Some use PDF-style ebooks they create and sell from their own websites, and some publish EPUB-style ebooks they upload and offer on Amazon, Barnes and Noble, and the iBookstore.

Let’s briefly review the two prominent ebook styles, and how either (or both) might serve your business goals …

Then, read on for inspiration and ideas directly from a few accomplished ebook authors.

The basic differences between PDF and EPUB ebooks

PDF ebooks are easily created on any computer you own. Once created, you can share them on your website, in emails, and in social media. PDFs are readable on computers, tablet devices, and even smart phones.

They’re a great solution if your ebook is graphics-heavy. They’re also the ideal format to use if you’ve never written an ebook before, because they’re easy to put together and share.

EPUB-style ebooks can be created on any computer you own — but they require a few more steps. These type of ebook include MOBI files for Kindle (a proprietary file-type for Kindle), and EPUB files for iPad and Nook (a more universal file-type for basically any reading device except Kindle).

They’re readable on computers, tablet devices, and smart phones, but they differ from PDF ebooks in the way they’re read.

EPUB-style ebooks feature flowing text that can be enlarged or changed by the reader. They’re created with a fluid and flexible format, then uploaded to a third-party website where you can share or sell them. These sites include Amazon, Barnes and Noble, and Apple’s iBookstore.

Ebooks see you through every business cycle

Ebooks can be constant marketing companions that boost your business through every cycle of its growth. They can also be powerful sources of income (as you’ll see below).

Ideally, you’ll embrace them early on, so you can reap the benefits of having a library of ebooks that help spread your message at every stage of your growing business.

Let’s take a look at the places in your company’s lifecycle where ebooks can help your business grow.

In the beginning …

PDF-style ebooks are relatively easy to put together, which makes them a great way to dip your toe in the ebook waters. Once the book is done, it’s done — the saved PDF is the final product.

How can this help you in the beginning stages of marketing your business?

  • Use it as a free manifesto to spread your ideas.
  • Offer it as an opt-in to help you grow your email list.
  • Create a high-quality “Minimum Viable Product” that allows you to test ideas for future (more elaborate) products.

When you need to kickstart growth …

Once you’ve mastered the basic PDF-style ebook, you can start switching things up as far as the format you publish.

This can further spread your ideas, as well potentially becoming a nice line of business in and of itself.

  • Add worksheets, video training, or audio interviews to your PDF ebook and host it in a simple membership site for a multimedia product that’s quick to put together.
  • Get your ideas in front of a broader audience by converting your ebook to an EPUB-style format, and making it available on Kindle, Nook, and iPad.
  • Want exposure? Consider making your EPUB ebook free or low-cost.
  • Want income? Higher-priced ebooks and multimedia programs can become significant sources of profit.
  • For long-term lead generation, plan a series of EPUB-style books you sell directly on Amazon, Barnes and Noble, or the iBookstore.

Ready to kick it up a notch? Learn from the masters.

I contacted some “ebook masters” recently to ask them to share tips with Copyblogger readers.

Each author approaches ebooks deliberately, with a long view toward using them to support their overarching business goals.

Sean D’Souza of Psychotactics says he “had no choice” but to start producing ebooks.

We used ebooks because the traditional publishing route was too long and cumbersome.

Ebooks also work because they’re quick to produce. I can think of an idea and three weeks later the book can be on a sales page and being sold. And unlike a physical book, it is portable. Our clients like the PDF (and now ePub) on their devices and computers.

For author Joanna Penn of The Creative Penn, they represent a major source of direct income.

Ebooks account for 50% of my full-time income as an author, speaker, and online entrepreneur. Most of these sales are fiction ebooks on the Kindle and Kobo, but I also sell non-fiction books.

Ebooks are a fantastic part of my business because they are easy and quick to publish.

For Johnny B. Truant, his How to be Legendary PDF ebook serves a different purpose.

I basically wanted a way to have a “cornerstone” piece that was more permanent and substantial than a simple blog post. I wanted something that could easily be passed around via email attachments rather than people sending links.

I wanted to do some good. Important manifestos have a way of helping people out, and I’ve heard that a lot about mine.

The ability to expand your information beyond a blog post is what attracts Darren Rowse of Problogger and Digital Photography School, too.

The Digital Photography School blog is a ‘how to’ type blog that gives free tips on how to use cameras — but many of the topics our readers want to learn about are a lot bigger than we could fully cover in a single post.

For example, a topic like ‘Portrait Photography’ is fairly large — a single post might cover one aspect of it, but to cover the topic comprehensively, an eBook of 20,000+ words is going to serve readers a lot better.

What’s your story?

Are you just starting out with the production of ebooks to grow your business?

Are you an ebook “master?”

Let’s talk about how you’re using ebooks, hit the comments below, and we’ll share ideas and tips …

About the Author: Writing good copy is one part of the story, and designing it to be read is the other. Learn design techniques to get better results with your content with Pamela Wilson’s free Design 101 course at Big Brand System.

How to Beat 7 Common Self-Publishing Fears


 

image of walt whitman, self-publisher

Maybe you’ve watched other bloggerslaunch their ebooks, and you want to do the same — but something’s holding you back.

You probably already know the benefits of publishing an ebook …

  • Establishing yourself as an expert author
  • Finally making real money from your blog
  • Creating a low-priced product to draw new customers in

You keep telling yourself that you will write an ebook someday … just not yet. And it’s almost certainly the case that one of the seven common fears in this article is holding you back.

Staying stuck isn’t any fun, so let’s get right to it …

Fear #1: I’m not ready

This is the biggest worry I hear from bloggers: I’m not ready.

All too often, the bloggers saying this are more than ready.

They’ve been blogging for six months, or a year, or longer.

Or they’re subject matter experts.

Or they’ve been writing for years or even decades.

Even if the longest thing you’ve written so far is a blog post, you probably are ready (or at least a lot closer to ready than you think).

Tip: Pick a date when you will begin your ebook, however unready you feel. Put it in your calendar.

Fear #2: I don’t know what to write about

This fear comes in two forms:

  • I have no ideas at all
  • I have so many ideas, I don’t know which to pick

The best way forward is to ask your audience.

Give them a list of your potential ideas and ask them to vote on their favorites. Even better, ask them what they’re struggling with, using open-ended questions.

Tip: Though open-ended questions are always best, you can use SurveyMonkey to run a multiple choice survey — it’s free at the basic level, and quick and simple for your audience to use.

Fear #3: Nobody will buy it

No writer wants to pour weeks of work into an ebook … only to find that sales are zero (or as close as makes no difference).

I can’t guarantee that your readers will buy your ebook. But if you’ve written whatthey want to read (see #2) instead of what you think they want, they’re very likely to snap it up.

You don’t have to sell hundreds of copies during your launch, either. Ebooks never go off: they can stay on a virtual shelf for months or years, bringing in regular income.

Tip: Don’t spend months and months on your ebook. Write something short, and aim to complete it within a couple of months — or try the 30 Day ebook plan here.

Fear #4: It won’t be good enough

Perhaps you’re worried you don’t know enough. Perhaps you think your writing isn’t up to scratch. This fear is one that pretty much every first-time ebook writer suffers. (And plenty of umpteenth-time writers still find it hard to beat.)

Remember, your ebook doesn’t have to be the last word on your subject.

In fact, it’s much better (for you and your audience) to write an ebook that tackles one single topic — not one that aims to be the only ebook they’ll ever need.

Also, you don’t have to go it alone.

Maybe there are a couple of chapters in your plan that fall outside of your personal experience. You can research those, interview an expert, or even ask someone else to contribute text for them.

Tip: Ask fellow writers, or some members of your audience, to act as “beta-readers.” Get them to comment on your draft, and use their comments and suggestions to improve it.

Fear #5: I don’t understand the technology

If you’ve only just got to grips with WordPress, the thought of mastering the technology behind ebooks might put you off starting.

The great news is that ebooks are relatively easy to produce.

If you’re going to sell your ebook through your own blog, you can simply make a .pdf file that readers can view on their computer. (And you can hire a designer to make it look great.)

If you want to get your ebook into major online stores, like Amazon, there are a few extra steps to take — but these are by no means insurmountable.

Amazon’s KDP (Kindle Direct Publishing) is straightforward to use, and Smashwords will help you format your ebook for distribution to other online stores.

Tip: There are plenty of individuals, plus companies like BookBaby, that can take your ebook manuscript and format it for you. Shop around and ask for recommendations.

Fear #6: I don’t have a big list

Yes, an email list is a powerful way to sell products … but you don’t need to build a huge list before you can create your first ebook.

Even if your list only has a few dozen members — or if you don’t have a list at all — you can publish an ebook.

You can use other techniques, like guest posting, to get the word out there, and build up your list over time. After all, if you write the ebook first, you’ll have something for new members to buy.

Tip: Use a free chapter or two from your ebook as a sign-up incentive for your email list. This not only gives them a reason to join your list, it also helps nudge them towards buying.

Fear #7: I hate the idea of marketing

Some people are natural marketers: confident, charismatic, and with an instinctive grasp of what benefits will entice their audience.

Others — probably most of us! — find marketing uncomfortable at first.

Marketing may not come naturally to you, but you’re perfectly capable of it.Marketing your ebook simply means letting people know what it can do for them.

Some of your audience will decide not to buy, of course: perhaps they don’t need that particular book, or they don’t feel they have time to use it right now.

Others, though, will be delighted that you’re produced exactly what they need.

Tip: Focus on your audience in your marketing. Instead of trying to write about how great your ebook is, write about how it can help them.

If one of these fears has been holding you back, decide today how you’re going to move forward.

Drop a comment below to tell us your plans.

About the Author: Ali Luke runs Writers’ Huddle, a membership site for writers that’s packed with great content — and that has lovely, supportive members. If you’re a blogger, novelist, short-story writer, freelancer (or a bit of everything) thenget all the details and read what members have said here.