Archive for the ‘Landscape’ tag
In the world of digital marketing, one thing is clear — everyone uses Google. Google influences what is on the internet — news, email, video, group collaboration, maps, shopping, photos, and more. It provides a better way to search and file and, as a result, has helped many companies create channels for successful sales and marketing campaigns. Plus, Google is incredibly easy to manipulate. However, it holds an untold power. Search engine advertising (aka, paid search) has cemented itself as a highly viable, cost effective marketing channel from early on. According to KISSmetrics, paid search is currently a $34 billion industry and without question a cornerstone of any sound marketing plan.
Historically, paid search has commanded the lion’s share of effective marketing dollars — and for good reason. Lead generation, measurable ROI, and brand awareness are some of the tangible benefits that companies experience. Investment in search engine advertising should continue; however, companies need not be fearful of diversifying their marketing strategies for optimum success.
A fundamental shift is occurring as the usage of mobile devices increases dramatically. According to a report from the Pew Research Center, as of February 2012, nearly half of American adults are smartphone owners. This means that while search size is growing, its share is in fact decreasing. The Google landscape is changing with the rise of mobile use, and businesses put themselves at risk by not adapting and evolving with the times.
Previously, a mere online presence might have been enough, but in 2012, it is increasingly important to ensure online efforts are designed to be mobile friendly. Consumers traditionally used their personal computers for search, with the majority of their activity taking place on a browser — where Google’s dominance is undeniable. Yet consumers now do the majority of their searching on mobile devices, where the majority of activity takes place outside of Google. Consumers continuously default to their favorite apps when using their smartphones; these apps are undeniably taking share away from Google.
As the shift toward online activity becomes mobile-heavy, the amount of real estate that companies have to work with is disappearing. In paid search, only one spot is available, while organic search places you below the fold. Consider the Google search page itself: Its relevance to our online activity is beginning to plateau. We have more activity in a different form with the huge uptick of applications on mobile devices. If a business were to still rely upon Google, the page on a mobile device is significantly smaller. The substantially smaller footprint with which to advertise has implications that cannot be ignored.
What lies beyond Google
At last count, more than 1 billion websites live on the internet. Beyond paid search, companies should consider other avenues to support their marketing strategy, including call centers, direct mail, affiliates, SEO, and local search. They need to create diverse marketing channels and focus influence from other resources. For example, hotels should focus on putting themselves on maps for local searches before anything else. Putting all the company eggs in one basket is risky and offers no ability to control search results. Successful campaigns must have the ability to reach new audiences and new consumers with more scalable solutions. This will help customer acquisition and the generation of greater profit margins.
The dangers of Google overreliance extend beyond Google losing its market share. Other areas of the customer acquisition chain are equally important. It isn’t about purchasing more keywords but being more effective with sales efforts. Sales teams need to capture prospects and not let them go. Email marketing is effective when working from a database of prospects who have previously expressed interest.
It’s important to remember that Google doesn’t create demand; it organizes and captures existing demand. For companies to be successful in marketing, they must continually create demand. People are spending a great deal of time using social channels to sharing compelling content. Building alternative traffic channels through social networking and community building is crucial, yet requires continuous improvement to make it sustainable.
Businesses that are Google dependant need to go broad. Developing new apps and leveraging existing apps are ways to constantly remain at the forefront. Consumers are beginning to use search paths that don’t necessarily include Google. Display advertising in local markets through Facebook and Twitter advertising are viable options considering consumers use social feedback to inform them. Devices are figuring out that the value of normal search can be achieved different ways.
As the digital landscape evolves with ever-changing policies and algorithms, so should digital marketing campaigns. The consumer backdrop is larger than Google. Consumers continue to spend exorbitant amounts of time online, and with the shift to mobile devices, companies must broaden their channels and holistically expand their digital marketing efforts. Historically, it might have made sense to be completely Google dependant, but now businesses should make concerted efforts to leverage additional marketing media, including applications.
If businesses are looking to maximize leads, then it’s time to begin thinking about how consumers are searching for their services. Important questions need to be asked, including, “Can our customers easily access our content and contact information from a smartphone?” If not, companies are missing the mark in a big way.
Google still beats any channel offline. But in the new world of mobile, every app developer and mobile-friendly platform should be tested as a potential channel for your brand.
On Twitter? Follow iMedia Connection at @iMediaTweet.
“Google announces” image via Shutterstock.
This is a monster-showreel of some of the best digital work seen recently. The Society of Digital Agencies spans 25 countries and 5 continents to include many well-known heavy weights of the digital agency landscape. This is their combined showreel.
Check out SoDA’s initiatives and full list of member agencies on their website.
Sparklabs Aims To Bring Silicon Valley Innovators, Like Advisors Mark Cuban And Vint Cerf, To South Korea
SparkLabs, a new startup accelerator, launched today in hopes of developing South Korea’s next wave of entrepreneurs.
Serial entrepreneurs Hanjoo Lee, James Kim and Bernard Moon, who have all known each other since college, co-founded the accelerator. Moon said they are all Korean or Korean American and want to be a part of the changing entrepreneurial landscape in the country.
Moon says they see more young entrepreneurs looking outside South Korea and wanting to be global companies, not just working to be acquired by a regional company. They want to build a network to advise these companies on launching outside of Korea to the U.S., Japan, China and more.
“We’re really focused on helping Korean entrepreneurs grow and develop their business outside of Korea,” he tells me.
SparkLabs opens applications for its inaugural class of 4-8 companies on August 30th. The program will launch at the end of November, with the first class graduating at the end of January and the second class beginning in March.
Moon says they looked at some of the most successful accelerators, like Y Combinator and TechStars, when modeling SparkLabs. Like most of its peer institutions, SparkLabs will provide startups with free office space and mentors, among other benefits. Each company will get 5-6 mentors, who will have a hands-on role in guiding the startup.
Moon says Mark Cuban and Vint Cerf, the accelerator’s high-profile advisors, will provide “high-level advice and big picture guidance,” possibly attending events or speaking sessions with the classes; however, he admits that having them also just helps to lend SparkLabs credibility.
SparkLabs is a member of the Global Accelerator Network, a group of independently owned accelerators around the world, including charter member TechStars. SparkLabs is the Network’s first member in Korea.
Moon says he and his co-founders don’t see themselves in competiton with other Korean accelerators, as they want several in Korea to develop an ecosystem.
Nick Bilton wonders if Twitter is crossing some line that once upon a time divided media and technology landscape. For a long time I have been making the claim that all future successful media companies will act and look like tech companies.
Huffington Post is an example, or Forbes post-Dvorkin, where the user experience of media is being mediated by technology — social architecture, or algorithmic curation — instead of being mediated purely by editorial controls.
And the recent explosion in curatorial tools is making the blur even blurrier.
So the answer to ‘is Twitter a media or technology company? is yes.
Like so many other job-hunters, writer Eric K. Auld used Craigslist as a resource. Curious to know what he was up against and to gain a better understanding of the employment landscape, Eric posted a false job listing. In a day, he’d received more than 650 responses. More »
If so, you might be intrigued by this fun fact: 4 billion people own a mobile phone. (Guess how many people own a toothbrush? 3.5 million!)
In fact, as I write this article, I’m on a short visit to Kenya, where even a housemaid earning $85 a month routinely uses a mobile phone.
As more consumers use their mobile phones for multiple purposes, marketers like you will have the power to reach buyers at the exact time and place they’re looking for what you offer, explain Jeanne Hopkins and Jamie Turner in their new book, Go Mobile.
Go Mobile covers a lot of solid ground in mobile marketing, and while I cannot go into as much detail as I’d like, here’s a taste of what you can expect.
Jeanne Hopkins and Jamie Turner have set out to answer your most pertinent questions concerning mobile marketing such as SMS, MMS, mobile display ads, QR codes, mobile websites, mobile apps, location-based marketing and many other tools to increase your business revenue.
Their goal is to remove the shroud of mystery that surrounds mobile marketing so you can get started with your own campaign.
What to Expect
If you’re curious to know how large companies and small businesses alike are using mobile to connect with customers in new and exciting ways, then this is definitely the book for you.
In this 227-page hardcover, you can expect a thought-provoking read with great tips and ideas that completely demystify the world of mobile marketing. What’s more, the authors have translated all of the heavy “marketing-speak” into a fun, simple, easy-to-read layout that describes:
- The overall mobile landscape and the best practices used in various mobile marketing case studies (Part I)
- How to set up your business for success with mobile marketing campaigns (Part II)
- The various tactics used in mobile marketing such as how to set up a mobile website using SMS, MMS and mobile display ads to attract customers (Part III)
- B2B mobile marketing and how to measure the ROI of your mobile campaigns (Part IV)
Go Mobile is a fascinating book through and through, but my favorite chapters are as follows.
How the Fortune 500 Use Mobile Marketing (Chapter 2)
According to the authors, the biggest mistake that small businesses make is to assume that mobile marketing is for large corporations with huge budgets. Not only is this completely false, but in reality many small businesses that have been successful with mobile marketing started out studying how big companies were using it, and then borrowed the tactics that worked for them.
You too should study companies such as Adidas, Nissan and NorthFace to see what you could apply to your own business.
For example, the New Jersey Nets wanted to create buzz and engagement using Gowalla, so they hid free pairs of virtual game tickets throughout New York City.
The virtual tickets were placed in sports stores, parks and gyms and could be exchanged for real tickets to a particular game. The overall redemption rate was 15.2%, which may seem low, but not if you consider that there were no announcements and no media costs.
If you work for a hotel, airline, sports franchise, amusement park or any other venue that has leftover inventory during non-peak periods (e.g., vacant rooms, free passes, a new menu item, etc.), this kind of promotion would be ideal.
Not only is the cost of giving away unsold tickets to an event nominal, it would generate a ton of engagement and demand among people who are not your typical customers!
9 Ways Businesses Are Using Mobile Marketing (Chapter 5)
In many cases, mobile phones have replaced the more traditional computer landscape of laptops and desktops and the effects are being felt all over.
For example, where potential customers once stood idle in register lines at the grocery store, today’s consumers are using those free moments connecting to the online world through their mobile phones.
Here are three of the nine ways that businesses (both large and small) are using mobile media to capture these audiences:
- Short message service (SMS): Create text-to-win contests or voter-based competitions (think American Idol!) to create brand awareness. You can also use SMS to inform your subscribers of content updates or new product information.
- Multimedia messaging service (MMS): MMS includes not just text but also sound, images, animations and video content. As a marketer, you should be excited that your subscribers can send MMS messages from their mobile phones to your email address. Encourage engagement by inviting them to send a photo, a tune or a short video to win a cool prize or opportunity.
- Mobile display advertising and paid search: Because the number of people accessing the web via mobile phones is skyrocketing, by placing ads on relevant mobile search engines, businesses are more likely to catch prospects during some part of their buying cycle and convert them into customers.
So no matter the size of your business, keep in mind that mobile marketing offers a variety of opportunities that simply cannot be ignored.
Classic Mobile Marketing Mistakes You Can Avoid (Chapter 6)
As you plan your mobile campaigns, you should be aware of the most common key mistakes that people make. Here are some of them:
- Treating PC and mobile users the same—mobile marketing requires a different approach in terms of speed, brevity of content, creativity and location options.
- Failing to recognize the difference in mobile equipment—such as bandwidth limits, charges and fees, keyboard and mouse features, etc.
- Ignoring mobile’s limitations—small screen, no mouse, no printer, limited keyboard; keep these in mind when creating content for a mobile device.
- Seeking perfection—trying and trying for that ONE flawless campaign; polishing, tweaking and emphasizing only to come away disappointed. Go out on a limb and the results will provide a benchmark for future efforts.
- Mobile-spamming your audience—just because it’s easy and cheap to send frequent messages to your audience doesn’t mean you should. Think instead of creating a well-thought-out campaign that sends messages occasionally.
- Treating mobile as a one-way street—it’s easy to send messages that don’t require a reply, but if you’re looking for interaction, use your mobile list to ask questions or request feedback.
Mobile Apps (Chapter 15)
You do not need to build your own app to be successful in mobile marketing. But if you have some extra cash and are feeling a little adventurous, you’ll find that creating an app isn’t that difficult at all—even for non-code speakers.
There are several app development tools for ordinary humans just like you. Here is a sample of them from the book:
- AppMakr: This browser-based platform allows you to design your own iPhone app quickly and easily. You can even use existing content and social network feeds to create different styles for your app.
- GENWI: This tablet and smartphone platform allows you to create and manage your online presence on all popular mobile devices including iPad, iPhone, Android and HTML5 apps. Apps can also include revenue-generating capabilities such as ads, coupons and in-app subscriptions.
- Mippin: It’s one of the easiest platforms for creating an app. It can be used for Android, iOS and Windows and can also provide a lot of flexibility in designing the app.
- MobiCart: If you have an ecommerce site that you’d like to take to the mobile-sphere, this app builder will link up with PayPal to allow any business or consumer with an email address to securely and conveniently send and receive online payments.
- MyAppBuilder: For only $29 a month, this platform will create an iPhone or Android app for you. All you have to do is to provide content (e.g., videos, books, etc.). Their experts will also upload your new app to the app store for you.
- ShoutEm: This platform is ideal for bloggers, students, sports fans, news portals and local publishers. Again, you don’t need to know any code because the experts at ShoutEm will even take care of the iTunes and Android Marketplace submission process.
Go Mobile is a genuinely important book. It is interesting, fun and compelling. Above all it provides valuable insights into a little handheld device that you and I (and practically everyone in the world) are intimately familiar with, but may not realize how much more we could do with it.
l love that Jeanne Hopkins and Jamie Turner have made it their passion and mission to show us the many wonderful ways that a mobile phone can be used for business. What a discovery!
The way the book reads is like you’re having coffee and conversation with friends—relaxed, entertaining and stimulating. They make mobile marketing seem so doable (and it is!) and you come out feeling pumped up and futuristic, ready to change the world with your phone!
So if you’re serious about mobile marketing for your business, you really must read Go Mobile. It is both priceless and practical. Way to go, Jeanne and Jamie!
Social Media Examiner gives this book a full 5-star rating.
Over to You
What do you think? Leave your questions and comments in the box below.
Images from iStockPhoto.
Android is an attractive platform for developers, but not all designers share our enthusiasm. Making an app look and feel great across hundreds of devices with different combinations of screen size, pixel density and aspect ratio is no mean feat. Android’s diversity provides plenty of challenges, but creating apps that run on an entire ecosystem of devices is rewarding too.
There are hundreds of Android devices with different screen sizes and resolutions. (Image credit: Android Design. Used under Creative Commons license.)
At Novoda, we build Android software for brands, start-ups and device manufacturers. We often work with visual designers who are new to Android. The new Android Design site is the first resource we recommend. You should definitely check it out. However, there is plenty more to pick up! The goal is to create apps that people love to use. Thoughtful UX and aesthetically pleasing visual designs help us get there.
This article provides a set of practical tips and design considerations for creating Android apps. I’ve tried to include something useful whether you’re crafting pixel-perfect graphic assets, finding an optimal user flow or getting your hands dirty developing XML layouts.
Visual design is hugely important in the perceived quality of an app. It might even improve usability. Most developers have some exposure to UI patterns, but developers with visual design skills are rare. They really need you. Delivering high-fidelity mock-ups, drawable resources (i.e. graphic assets) and guidance to developers is the best way to deliver an aesthetically pleasing experience to the end user.
Android is a platform of many screen densities. There is no set of resolutions to target, rather a density independent measurement scheme for graphics, widgets and layouts. This is covered in depth in a previous Smashing article and the official documentation, so I’ll just add a mention of this neat web tool for calculating density pixels.
Optimize graphics for different screen densities. (Image credit: Android Design. Used under Creative Commons license.)
It’s not always practical to hand optimize graphic assets for each density. The platform can scale resources down reasonably well. However, it’s always worth testing designs on low-end devices and optimizing resources that scale badly.
Be State Friendly
Touch states provide important confirmation of clicks and selections. When customizing widgets such as buttons, it’s important to create drawables for all necessary states (such as default, focused, pressed and disabled). The focused state is essential user feedback on devices that support directional pad or trackball navigation.
Size is important too. Touch input is imprecise and fingers occlude the UI as they interact with the screen. Touch targets should normally be at least 45 density pixels in width and height.
Android has two fonts: Droid Sans and Roboto. Roboto was released in Ice Cream Sandwich (Android 4). It’s been compared to Helvetica, but it’s a little condensed, which is great for small screens. You’re not limited to Roboto or Droid Sans, though. Any font can be packaged within an app in TTF format (with some memory overhead).
Roboto is Android’s new font, introduced in Ice Cream Sandwich. (Image credit: Android Design. Used under Creative Commons license.)
Use 9-patch Drawables
9-patch drawables allow PNGs to stretch and scale nicely in pre-defined ways. Markings along the top and left edges define the stretchable areas. The padded content area can optionally be defined with markings along the bottom and right edges. 9-patches are essential for creating and customizing UI widgets.
It’s possible to create 9-patches manually, but the Android SDK comes with an nice, simple tool called Draw 9-patch. This makes it quick and easy to convert a regular PNG in to a 9-patch. It highlights the stretchable area and displays previews of the resulting drawable with different widths and heights.
Handle Design Legacy
Honeycomb (Android 3) and Ice Cream Sandwich (Android 4) modernized Android’s visual design with the Holo theme. However, some device manufacturers have a poor reputation for keeping platform versions up-to-date. Some of today’s most popular devices will never be upgraded to Ice Cream Sandwich.
The Meetup app makes everybody feel at home with separate Gingerbread (Android 2.3) and Ice Cream Sandwich widgets.
So what can be done? There are two options. Deliver the current look, feel and experience to all devices or use a separate set of widgets styles and drawables for Gingerbread and below. Both approaches are valid. Would your users prefer modern or comfortably familiar?
Showcase the Brand
Sometimes clients fear that sticking to recognized UI design patterns will make their apps less distinctive. I think the opposite is true. As patterns like the action bar become ubiquitous, they fade into the background. Users can spend less time wondering how to use an app and more time appreciating how elegantly your app solved their problem. That experience is much more valuable for the brand than a one-of-a-kind UI for the sake of differentiation.
Branding can be expressed through design of icons, drawables and widgets, as well as in the choice of colours and fonts. Subtle customization of the standard platform widgets can achieve a nice balance of brand values and platform consistency.
Create High-Fidelity Mock-Ups
High fidelity mock-ups are the best way to communicate visual design to developer responsible for implementation. The Android Design website provides templates in PSD and other formats. It’s important to try mock-ups out on real devices to confirm that they feel right, with UI components sensibly sized and placed. The Android Design Preview tool allows you to mirror mock-ups directly from your favourite design software to an attached Android device.
A practical approach for mock-ups is to work against the screen characteristics of the most popular devices. Ideally, create mock-ups for each alternative layout required by screen size or orientation.
Attention to detail is key. Become involved in the development process to ensure that your designs are realized. As a developer, I would always prefer to work with active designers than those who deliver mock-ups and resources before disappearing into thin air. Designs need to be iterated and refined as the app develops.
Animated transitions provide some visual polish that many Android apps lack. Developers might not include such things on their own initiative. Make them part of the design when they make sense. Aside from transitions, animations are a great way to keep users distracted or entertained when the app needs to make them wait.
Android has patterns and conventions like any other platform. These help users to form expectations about how an unfamiliar app will behave. Porting an iOS experience directly to the Android platform almost always results in a poor user experience.
The back button is the best illustration of the interaction differences between Android and iOS. All Android devices have a hardware back button or on-screen navigation bar (including back button). This is universally available as a feature of the platform. Finding a back button within an Android app layout feels weird as an Android user. It makes me pause to think about which one to use and whether the behaviour will differ.
Design User Flows
At the very simplest level, Android apps consist of a stack of screens. You can navigate in to the stack with buttons, action bar icons and list items. The platform back button allows you to reverse out of the stack.
The action bar mirrors a web convention, where the app icon to the left of the action bar usually takes you to the top level of the app. However, there is also the up affordance, intended to take advantage of structural rather than temporal memory. This is represented by a backwards facing chevron to the left of the app icon. This signals that pressing the icon will navigate one level up in the information hierarchy.
The purpose of the up affordance might be subtle at first. Android apps can have several entry points in addition to the launcher. The Intent system allows apps to deep link each other and home screen widgets or notifications might take you directly to specific content. The up affordance allows you to navigate up the information hierarchy regardless of where you came from.
Try user flows on potential users with wireframes or mock-ups and iterate. Prototypes on real devices are ideal because they allow you to test in realistic mobile environments. This might seem like a lot of effort, but remember, you only need to try things out with a few users.
Be Platform Consistent
UI patterns are your friend. It’s much better to think of these patterns as tools than constraints. Users would prefer not to have to learn to use your app, so patterns provide familiar hints about how to navigate and interact.
Action bar is the most widely adopted Android pattern. It tells you where you are and what you can do. It’s a native feature of the platform since Honeycomb and the excellent Action Bar Sherlock library makes it available on older platform versions too.
The dashboard pattern is also quite widely used. These grids of icons are usually presented to the user when they launch an app. Dashboards provide top level navigation and describe the primary areas of the app.
I worked on the Songkick app, where we used a dashboard draw out the content of the app with full-bleed images.
The workspaces pattern can be implemented with the ViewPager component. This allows users to swipe screens left and right between content. This can be used in conjunction with tabs to provide a more fluid browsing experience with tabbed data.
The ribbon menu is an emerging navigation pattern. This allows us to launch the user directly into content and provide the top level navigation in a menu, which slides in from the left side of the screen when you press up.
Tablet optimized apps often take advantage of multi-pane layouts. A single tablet screen can display the content of several separate phone screens side by side. Optimising for tablets can involve creating several alternative layouts for different screen widths. Sections of UI can be designed once and laid out in different configurations for different screen sizes. Multi-pane layouts help to avoid overly wide list items and sparse layouts.
The Economist news app uses multi-pane tablet layouts so users can explore the hierarchy of content on a single screen.
These are familiar and proven UI patterns. They’re the best tools for starting to sketch out your app layouts and navigation. However, they shouldn’t discourage you from trying something new. Just ensure that the app behaves predictably.
Android is a platform of many screen sizes. The devices that I can lay my hands on in our office compose a spectrum of screen sizes from 1.8 to 10.1 inches (as long as we ignore the Google TV). With variable screen area, Android has something in common with responsive web design. There is no getting away from the fact that design and implementation of a responsive experience across the full range of devices takes a lot of work. Supporting every screen is the ideal, but there are also sensible strategies for coping with the diversity of the platform.
Knowing a little about your target users and popular devices can help focus efforts and avoid premature optimisation. A good default strategy is to target popular, middle sized phones (3.2″ – 4.6″) and then optimize as necessary with alternate layouts and user flows for particularly small (<3″) devices and tablets.
It’s always best to be orientation agnostic. Some devices have physical keyboards that require the device to be held in landscape. The on-screen keyboard is also easier to use in landscape. Text entry on touch screens is awkward an error prone, so let’s at least give our users the benefit of the landscape keyboard.
Understand Mobile Interactions
People interact with mobile apps differently from websites or desktop software. Mobile apps rarely have the undivided attention of a user and most interactions use touch input, which is not as precise as we might like.
Mobile interactions can often be measured in seconds. We recently developed a location-based app that allows users to check-in at bars. We counted the clicks on user paths such as check-in, considering whether each step could be avoided or simplified. We specify everything that an app should do as user stories. The most frequent stories should be as quick and easy to accomplish as possible. It’s particularly important in this scenario, because the user might be under the influence of alcohol…
Optimize First Use
First launch experience is crucial. Apps are often installed in response to a real world problem. If the first run isn’t satisfying then the user might never return. If the app requires sign up, offer preview functionality so that users get a feel for the experience. They probably need to be convinced that it’s worth filling out that sign-up form. Also consider using analytics to measure points where users drop off in the launch and sign-up process.
Many apps launch with a tutorial. This is usually an admission that the app is too complicated, but if you’re sure that you need one, keep it brief and visual. You might also want to use analytics to confirm that a tutorial serving a purpose. Are users that complete the tutorial more active? How many users just skip the tutorial?
Bring the App to Play
User experience considerations shouldn’t end in the app. It’s worth putting a bit of thought in to the Google Play Store listing to ensure that it’s immediately obvious what the app does and why the user would want it.
These Graphic Asset Guidelines will help you to create promotional material suitable for the various contexts and scales in which they appear. Some of these graphics are a pre-requisite for being featured too.
Layouts, Styles and Themes
Android has a visual layout editor and it’s getting better all the time. However, I still find myself developing XML layouts by hand. This section gets down to implementation details, covering some best practices for crafting maintainable and performant layouts. Visual designers might want to skim this section, but some awareness of implementation details can’t hurt.
The most general purpose layouts are RelativeLayout and LinearLayout. RelativeLayout should be favoured for efficiency, whilst LinearLayout is useful for distributing space between views using weights. GridLayout was new in Honeycomb. This is useful for creating complex layouts on large screens without nesting. Nesting layouts too deep is bad for performance and code readability alike!
Let the Framework Do the Work
The Android framework provides automated resource switching based on folder structure. This means that you can have separate graphic assets and layouts for different screen sizes and densities by arranging them in the correct folders. It goes much further than that. For example, you could switch color resources for different platform versions or even animation durations for different screen sizes.
Since Honeycomb, it’s also possible to switch resources on available screen width in density pixels. This is a move away from the bucketed small, normal, large and extra-large screen size switching. It facilitates responsive design and allows multiple layout switching points (perhaps switching to a tablet-optimized layout at 600dp with another alternative at 800dp). It’s typical to have multiple layout files with different configurations of the same components for different screen characteristics.
State list drawables make being state-friendly easy. These allow you to specify different drawables for different states of a UI component in an XML file. As mentioned earlier, representing states properly provides important user feedback.
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/my_button_pressed_focused" /> <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/my_button_pressed" /> <item android:state_focused="true" android:drawable="@drawable/my_button_focused" /> <item android:state_focused="false" android:state_pressed="false" android:drawable="@drawable/my_button_default" /> </selector>
It’s good practice to keep layout XML clean of explicit colours and dimensions. These can be defined separately and referenced in your layouts. Defining colours and dimensions separately promotes visual consistency and makes things easier to change later on. Extracting these values allows switching of dimensions on different screen sizes, orientations and platform versions. This is useful for tweaking padding for small screens or increasing text size for readability on large screens, which tend to be held further away from the face. Perhaps res/values/dimens.xml contains:
whilst res/values-sw600dp/dimens.xml contains:
Use Styles and Themes
A good technique to keep layout XML maintainable is to separate the styling concern from the positioning concern. Every View in a layout needs to have at least a width and height attribute. This results in a lot of boilerplate, which you can eliminate by inheriting from a set of base parent styles.
<style name="Match"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">match_parent</item> </style> <style name="Wrap"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> </style> <style name="MatchHeight" parent="Match"> <item name="android:layout_width">wrap_content</item> </style> <style name="MatchWidth" parent="Match"> <item name="android:layout_height">wrap_content</item> </style>
Recurring sets of attributes can be moved into styles. Widget styles that occur almost universally throughout the app can be moved into the theme. If a particular type of button always has the same text color and padding, it’s much cleaner to specify the style than duplicate these attributes for each occurrence.
<style name="MyButtonStyle" parent="MatchWidth"> <item name="android:padding">@dimen/my_button_padding</item> <item name="android:textColor">@color/my_button_text_color</item> </style>
We save four lines of attributes when we add the button to a layout. The layout file can be concerned with just the positioning and unique attributes of widgets.
<Button android:id="@+id/my_button" style="@style/MyButtonStyle" android:text="Hello, styled world!">
You can take this further by overriding default button style in a theme and applying it to an Activity or the entire app in the AndroidManifest.xml.
<style name="MyTheme" parent="@android:style/Theme.Holo"> <item name="android:buttonStyle">@style/MyButtonStyle</item> </style> <style name="MyButtonStyle" parent="@android:style/Widget.Button"> <item name="android:padding">@dimen/my_button_padding</item> <item name="android:textColor">@color/my_button_text_color</item> </style>
The include and merge XML tags allow you to drop reusable sections of UI into your layouts, minimizing duplicate XML when the same set of views occurs in multiple layout configurations.
<include layout="@layout/my_layout" style="@style/MatchWidth" />
A relatively new addition to the Android Developer Tools is Lint. This tool scans the resources in a project and creates warnings about potential performance optimizations and unused or duplicated resources. This is incredibly useful for eliminating clutter as an app changes over time and it’s certainly worth checking lint for warnings regularly during your development process.
Sometimes layouts just don’t turn out how you expected. It can be hard to spot bugs amongst all those angle brackets. This is where Hierarchy Viewer comes in. This tool allows you to inspect the layout tree of an app running in the emulator. You can inspect the detailed properties of each view.
Inspect your layout trees with Hierarchy Viewer. Those colored dots can tell you about your layout performance.
Hierarchy Viewer has a couple neat tricks for visual designers too. It allows you to inspect screens in zoomed pixel perfect mode and export the layers of a layout as a PSD.
So you’ve been introduced to the platform and the tools. What next? Ultimately, the best way to get a feel for Android is to use it every day. The most satisfying app designs have a few things in common: platform consistency, attention to detail and clean visual design. The first two, at least, can be picked up by using and analysing existing Android apps.
Android has come a long way in the last few years. The platform and the apps have become gradually more refined. Functionality is not enough at this point. There are almost half a million other apps out there, and users want polish.
- Android Design
The official Android design guidelines.
- Android UI Utils
Asset generators, device frames (for screenshots) and the design preview tool.
- Android UI Design Patterns
A blog covering Android UI patterns, best practices, anti-patterns and more.
- Android Patterns
A crowd-sourced Android UI pattern directory.
- Android Niceties
Design inspiration from some of the prettiest and most interesting apps.
- Holo Everywhere
Design inspiration highlighting use of the Holo theme.
- Android App Patterns
Nicely categorized UI pattern examples and design inspiration.
- Improving App Quality
A blog post packed with tips on pleasing your users.
- Deep Dive Into Responsive Mobile Design
A four part epic on responsive design, with Android’s Google Play Store as a case study.
- Android Icons
A nice pack of action bar icons styled for Ice Cream Sandwich.
© Jamie McDonald for Smashing Magazine, 2012.
It’s interesting to think about what the shopping center of the future may look like.
Over the past decade, I’ve spent a good amount of blog, article, book and speaking real estate looking at the future of shopping and what that real estate may (or may not) look like. There’s no denying that the digitization and e-commerce evolution has radically changed the retail landscape. Without sounding too bullish, it’s going to continue. Not with a lateral growth curve but with exponential growth. As retail continues to tinker with models to encourage people to come down to their physical stores, it’s hard not be overwhelmed by everything that brands like Amazon are doing (see here: When Real Time Becomes Really Real Time) and how things like showrooming and smartphones are playing a major part in retail’s struggle to keep pace and relevance.
What retail should do.
We used to go shopping not just to buy the things that we needed, but because it was a social experience. Once e-commerce took hold, the need to go to the physical space became increasingly less relevant. Customers not only liked the ease of online shopping, it provided them with better pricing and endless aisles (in terms of selection). This (as one example) put the hurt on the traditional shopping mall model of having major retails anchor the malls. This evolution led to the bridging of entertainment and shopping. Retail stores were now being anchored by movie theaters, dining, comedy clubs, entertainment facilities and more. The shopping mall became a destination for shopping and entertainment. The foot traffic would increase because people were going to malls to catch a movie or grab a bite with the family.
The pressure continues to increase.
Suddenly, you can have a home theater that rivals those at the mall, and your home console video game systems are way more impressive than the arcade. Shopping mall developers aren’t numb, they know what’s going on and they’re scrambling to make the retail experience more… experiential. Not every mall will be afforded a store like Apple or Forever 21, so they’ll need to be doing a whole lot more in a world where Amazon is quickly racing to develop same day delivery. Yesterday, The Globe And Mail ran an article titled, Oakridge owners hoping to expand mall into small city that speaks to my utopian vision of what a shopping center could be: "Now Oakridge‘s owners are looking to do much more. They want to transform the 56-year-old mall into its own small city. Doing so means not just more housing, retail and office space, but also parks, bikeways, walking paths, a library, its own district energy system, and a re-orienting itself to the sudden influx of customers coming by transit with the Canada Line."
If shopping malls and great retail experiences have a future it will be in creating a better reason for people to come. There is no doubt that a great shopping mall is still a social experience and one of the primary places that a community comes together, so while environmentalists and protectionists want to either keep their communities a certain way, I’ve been saying for a long while that shopping malls and other places with dense retail experiences will need to give people better reasons to visit. Creating a space where there are homes, offices, libraries, parks and more is intriguing. Thinking of a shopping mall as a space that is more like a city could be one of the craziest ideas ever put forward or one of the best ways for retail to regain its footing in the community.
What do you think?
In a search landscape where millions of keywords define intent, generating the most compelling creative can prove to be a daunting task. Understanding your audience and formulating a message might be easy, but packaging up that message within the narrow limits of a 130 character creative can be a…
Please visit Search Engine Land for the full article.
It has already been a year of amazing developments. We’ve seen both ups and downs in digital marketing. So while we are all focused on our mid-year business reviews, we should stop and take a moment to revel in the glory that is the online ad industry.
The industry isn’t slowing down anytime soon. It’s becoming more complex, more confusing, and faster paced than ever.
So what trends have shaped the landscape over the last six months? Here are our top picks.