Last Minute Tech Gifts for Moms

If you slacked on finding the perfect gift for mom, I’ve got some last-minute tech gifts to keep her connected and make her life easier (because isn’t that least you can do for mom? -> sarcastic 🙂 ). Here are my favorites… and mom doesn’t even have to be tech-savvy to use them.

Striiv Smart Pedometer

The Striiv Smart Pedometer is more personal trainer than pedometer. It learns your behavior and says all the right things to help you move more, eat better and reach all your health and wellness goals. The color touchscreen provides instant feedback and encouragement throughout the day— and you can even make free donations to charity just by staying active. Perfect for any mom who thinks she’s too busy to go to the gym.

Alesya Bags

Mom might need to carry around her laptop, but that doesn’t mean she wants to look like a cookie-cutter cubicle dweller going it. Chuck her black nylon laptop bag and get her a gorgeous bag from Alesya instead. Her laptop will be snug and easily accessible from the side zipper, plus there’s plenty of room for peripherals and girly things. From the outside, no one will know it’s not the “it” bag of the season.

Bikn

With a life always on the run, you can fault mom for losing the occasional phone, wallet, pet or child… avoid all such mishaps with the Bikn system. Install the Bikn app and then add tags to up to 8 things that matter most to her. Now the phone finds them, and they can find the phone when one goes missing. So simple, I wish I had thought of it.

Samsung Galaxy Note

Somewhere in between a smartphone and a tablet, the Samsung Galaxy Note knows how to multi-task just like mom does. Use the pressure-sensitive “S Pen” to draw, sketch, or handwrite a note with ease, and the super-large screen means she can catch up on TV shows in the carpool line.

Motorola Roadster

Mom’s always in the car, and people are always trying to reach her. Bad combination, if you want to drive safely. Motorola solves this conundrum Roadster, a hand-free bluetooth speaker that reads your texts to you, and allows you to dictate your response. Now she can drive with little distraction (unless you factor in the raucous group of kids in the backseat).

Nook Simple Touch with Glo Light

I’m a big fan of gadgets that do one thing really well. So, in spite of my love for tablets, I think that when it comes to reading, eReaders are the best experience. However, they have one downfall— nighttime reading, which to me, is the best kind of reading. Barnes & Noble has reinvented the Nook by adding a glow that you can adjust for optimal viewing at night, while still enjoying the glare-free clarity of an e Ink eReader. Late nights with 50 Shades of Gray never looked so good.

Swivl

Moms usually assume the role of Chief Memory Officer (in other words, she’s behind the camera, not in front of it). Get her ready for her close-up with theSwivl, her own personal cameraman. Drop your iDevice into the base station and the Swivl will follow your every move, panning and tilting to keep you in frame while you chase after the kids, move around the kitchen, or multitask while video chatting with the grandparents. A CD quality microphone ensures you capture the best possible sound even if your’e moving further away from the camera.

5 Things Product Managers Wish They Could Tell Developers

Product Management (PM) is a challenging discipline. More than almost any other role on a product team, it requires a holistic view on the product, its customers and the marketplace. A successful PM often needs to put him or herself into the shoes of multiple stakeholders, and advocate for the interests of those stakeholders in planning and execution. And though Product Management is a critical part of the product engineering process, sometimes as a PM, you might find yourself at cross-purposes with your development team.

Over the last decade, I’ve occupied a handful of roles that encompassed Product Management within my job responsibilities. Over the last two years, I’ve served as the Product Manager for Kendo UI a popular HTML5 framework for building rich sites and mobile applications. Across all of these roles, I’ve discovered a handful of axioms that development teams and PMs should know about Product Management and the people who occupy these roles, but which aren’t always easy to come right out and talk about. In this article, I’ll discuss the following five axioms, and share how a successful PM can communicate these to his or her team:

  1. Marketing is a vital good, not a necessary evil
  2. The customer really is always right
  3. The customers you want matter just as much than the ones you have
  4. You’re on the development team’s side
  5. A rockstar development team makes your job look easy

Before I start, though, it’s important to note that my perspective and experience with Product Management is in the realm of software product development. Even still, while I might show a little bias for software teams in this article, I believe that many of these principles apply to PM in general, regardless of industry.

Marketing is a vital good, not a necessary evil

I’ve been a developer for pretty much my entire career. And even though I’ve held Software and Enterprise Architect roles, led a few teams, worked as a Developer Evangelist and now Product Manager, I’ve always considered development at the core of what I do and who I am, professionally. Because of my bias towards development, I’ve found myself at odds with marketing organizations and marketers on a few occasions in my career. I also I know how easy it can be as a developer to consider the role of the marketer, and even the seller, as secondary to the act of building a product.

To put it bluntly, developers can sometimes fall into the trap of believing that the code they pour into the product is the only essential piece of that product. Logically, we all know this isn’t true. “Build it and they will come” rarely works in a crowded marketplace, and a product without marketing is, to grossly misinterpret U2, like “a fish without a bicycle.” Wait, that’s not right, let’s try again. A product without marketing is like building a baseball field in the middle of an Iowa cornfield, not telling a soul, and expecting to turn a profit. Only otherworldly intervention could be expected to yield a result in such a case.

Products need marketing, just like they need sales, accounting and every other activity that goes into building sustainable software, all of which allows developers to focus on actually writing code. And while very few developers will deny that marketing is essential, often their frustration stems from the fear that having marketing too involved in a product leads to “Marketing Driven Development.” And, to be fair, this is a valid fear. Sometimes your product marketing team will suggest features designed to tell a good story and bring in a rush or traffic or next batch of customers, but which may add little value to, or even harm your product, in the long run. Your job as PM, then, is to bridge the gap between marketing and development and advocate instead for “Market Driven Development,” where the unique perspective of your marketing team is leveraged in the planning of your product. The fact is, your marketing team is just as vested in the long-term success of the product as you and the development team are.

As PM, I regularly lean on my marketing colleagues to provide critical analysis of our product, our customers and the marketplace. The data they collect and the analysis they provide creates a robust view of customers and the market that would otherwise remain unseen. The role of marketing is critical to building a product over time, and a successful PM will be a regular advocate for marketing and the essential role they play in shaping the product.

The customer really is always right

Anyone who’s ever worked on a development team has probably either heard or said the following: “Our jobs would be so much easier if we didn’t have any customers!” And while this sentiment is mostly a tongue-in-cheek observation, it often comes from a place of frustration. When development teams are organized, especially around greenfield products, they’re often able to live in a customer-free valhalla for a time. Sure, they’ll have Product or Project Managers to work with, or even the occasional executive sponsor, but much of the team’s early development is done in a vacuum. Code is elegant, the team is clicking, and the feedback loop is nice and small.

Once a product is launched into the wild, things change, and drastically. PMs and executive sponsors are still involved, but now, the development team has to deal with the two-headed monster of support and customer feedback. From an engineering team’s perspective, these two inputs might as well be called “what’s wrong with your product” and “what your product should have shipped with.” It should be no surprise than that it’s quite common for development teams to quickly dismiss customer feedback with the phrases “not a bug,” or “works as designed.” And to be frank, this is fair. For popular products, development teams can be downright inundated with customer feedback, and developers tend to cultivate special skills for quickly triaging customer interactions.

And yet, within nearly every bug report and piece of customer feedback is a kernel of truth, even if those requests are “wrong,” on face. Every bug report that’s not really a bug is an example of a customer struggling to properly use your product. Every piece of dismissed feedback is an opportunity for your product to be that much more of a joy to use. As a PM, your job is to serve as the “Customer Whisperer” for your team. You can drill down to the essence of what the customer needs, even when the development team dismisses the request outright. The solution might be as simple as improving the way a feature is documented, or as complex as changes to the product itself. Either way, a good PM is able to distill patterns and trends from all customer feedback, and determine what changes are really needed to continue delivering a great experience to customers.

The customers you want matter just as much than the ones you have

Part of my job, as PM, is to be the “keeper of the roadmap” for a product , or set of products. The job entails drafting the long-term vision for the product, and populating the backlog for each release with a candidate set of features and fixes. Once a draft roadmap has been set for an initial release, I put my candidate recommendations in front of the development team and ask them to tear it to shreds. Over the last few years, our team has settled into a great workflow, and the time we spend collaborating on the plan for a release is one of my favorite parts of the job. I do my best to bring a high-level market- and customer-informed perspective to the table, and the team does a fantastic job of bringing their “in the trenches” perspective and complete mastery of the product, in turn.

The majority of the time, there’s a great deal of give and take in this process. However, on occasion I’ll hear someone use the phrase “no one has ever asked for that,” in response to a candidate feature. From a developer’s perspective, this is a perfectly valid response. Why bother spending time on a feature no one is asking for? Often, this response is enough to table a feature and move on. But it’s not always the right response.

The truth is this: unless you work for Facebook, the number of customers you don’t have, but want is probably many factors larger than the number of customers you have, today. Growing your product means growing your customer base, and to do that, you have to know why these individuals aren’t already customers of yours, and what it will take to make them customers. As PM, your job is to know what the customers you don’t have will want, and to be the voice of those silent customers for the product.

Of course, the customers you have also deserve a powerful voice with your product. But even for these loyal folks, the “no one has asked for it” argument isn’t always iron clad. Markets change, sometimes overnight, and customer needs change frequently, as well. As PM, having your hand on the pulse of the market helps to not only know what potential customers need, but also what existing customers will need six months or a year from now.

Take Apple’s iOS 7 Mobile OS, for example. While Apple’s move to introduce drastic, “Flat UI” design changes to iOS was a surprise to many, the company’s move was made in response to broader design and UX trends that have been happening for a few years now. Both Google and Microsoft flattened their mobile UIs in recent years, and were praised as a result. In many ways, Apple’s move was just a matter of time. And while we on the Kendo UI team had no inkling of when apple would move iOS in this direction, we anticipated the “flattening of mobile” on our team, and moved to introduce a full-scale “Flat UI” theme in our most recent (Q2 2013) release, something that had been planned before Apple’s iOS 7 unveiling. A lucky guess? Sure there was a bit of luck involved, but it was by paying attention to the market and anticipating what our customers would be asking for in the future that led us to take that risk (or venture that guess, if you will) in the first place.

You’re on the development team’s side

With all this talk about customers being right and marketing being critical to the product, it might be easy to become convinced that Product Management is more about these stakeholders than the development team itself. But the fact is that, without a product, there is no Product Management, no Marketing, no Sales and finally, no customers. And without a development team, there is no product. It goes without saying that a product needs a development team.

Having a great product development team, though, is something else entirely. It’s not just about having a collection of people who know how to write code that makes a product. Talent is great, but it only goes so far, especially over time. Instead, having a great development team is about having people who are talented and passionate about the product that they’re working on. If the development team cares about it’s work, is excited about the potential it holds and feels that their work has meaning, you’ll be amazed at what they are capable of delivering. On the other hand, if they feel that their personal stake in the product has been mortgaged off to others, their satisfaction will degrade over time, and the product will suffer.

As Product Manager, your job is to make sure that your development team always has a stake in the product, no matter what. At a fundamental level, this means giving up sole ownership of the product roadmap or backlog, and inviting the team to collaborate on the plan at every stage. While some PMs prefer to “own the roadmap” for their products, I prefer to “own the conversation.” Rather than managing a piece of paper that represents the plan, I like to think that I’m responsible for making sure that planning takes place, contributing my expertise and perspective, to be sure, but most of all ensuring that every voice is heard, and taken into account.

Make no mistake, though, when you invite the development team to have a larger stake in the product, you will be making your job more difficult. Keeping your development team passionate and engaged might mean that you need to make difficult decisions from time-to-time. Sometimes, for the good of the long-term health and viability of a product, you’ll need to weigh the happiness of the team over squeezing every last feature into or dollar out of the product. In practice, however, I rarely find these decisions all that difficult because an engaged development team shines through every line of code in your product, and your customers will most certainly notice the difference.

A rockstar development team makes your job look easy

As a Product Manager, you’ll sometimes find yourself in situations where you’re serving as a mouthpiece for, or being seen as the face of, your product. Whether it’s participating in PR for your product, presenting product updates to the marketplace or speaking to communities as a representative of your product, you’ll regularly be “that person who works on product x“.

And while there’s no doubt that PM contributes greatly to the success of a product, for many of the reasons we’ve already discussed in this article, a first-rate development team makes your job look easy. I know this, of course, because I work with such a team, and I’ve seen first-hand how a great team makes building a great product simple, and fun, to boot. If you’re in a similar situation with your product, you know exactly what I mean.

The question then becomes, should you tell your development team as much? Of course you should! I’m not a big believer in the “withholding praise” style of management and team collaboration, mostly because I believe it’s disingenuous and a manipulative motivator of people. Instead, regardless of the jobs I’ve held or the companies I’ve worked for, I’ve always tried to be a team member who regularly reminds people just how much I value them. As a PM, I believe it’s critically important to let every single person you work with know exactly how much you value their contributions to the team, including your product’s development team. On a great team, everyone tends to make everyone else’s job easier, so never hesitate to tell great developers exactly how great they are!

Show, Don’t Tell

My first writing love is fiction, and fiction writers have a phrase they use when describing how to tell stories about people, places and things: “show, don’t tell.” While it sounds like a bit of contradictory advice to give someone who’s only storytelling outlet is the written word, the spirit of this advice is for writers to move a story along by showing how people act, instead of merely by what they say.

My advice then, to Product Managers, aspiring PMs and myself is the same: “show, don’t tell.” We might wish that we could come right out and say these five things to our development teams, but when we act as though these things are true, we never have to say a word. With that in mind here are five actions that, I believe, communicate the above axioms much louder than words:

  1. Be an advocate for “Market Driven Development” on your team
  2. Be a “Customer Whisperer” to your developers
  3. Be the voice for the customers you want, as well as the customers you have
  4. Ensure that the development team has a powerful voice on the product
  5. Let the development team know how critical they are to product success

Product Management is a challenging discipline, but it’s also one of the most rewarding roles I’ve ever held. It requires a total cross-team perspective, and the ability to advocate for multiple points of view. And while Product Management and product development don’t always see eye-to-eye, a successful Product Manager knows how to advocate for everyone involved in the product, and have fun while doing it.

 

About the Author

Brandon Satrom

Developer, writer & optimistic nay-sayer | Founder and CEO of Tangible Labs and an avid tinkerer

Tips and Considerations for Creating HTML5 Apps

Here are a few tips and considerations before jumping into your first HTML5 app.

Packaged or Hosted?

App stores like the Firefox Marketplace provide two types of apps: packaged and hosted. Packaged apps are simple: zip up your HTML, CSS, and JavaScript, and upload the final app to the store. Hosted apps are essentially a web view or browser that display your app from a remote site. Each app type has its advantages. Hosted apps are best for:

  • subscription-based services
  • apps which will frequently change (avoids daily app upgrades)
  • apps which are essentially mobile-wrapped versions of websites

Packaged apps, on the other hand, are best for:

  • standalone games
  • apps which require no internet connection
  • apps which require special device privileges

Ultimately there are no steadfast rules for when to chose either, but weigh your goals with the technology to decide which is best for your app and, more importantly, your users.

Target Device Support

There are a number of devices with different screen sizes to consider these days, and even more, will be thrown at us in the future. When you go to submit your app to the Firefox Marketplace, you’ll be asked if the app will support mobile phone, tablet, and/or desktop. Remember that apps aren’t just for tablets and phones — your traditional desktop can install them as basic apps.

When you consider device support and code to accommodate for multiple platforms, remember that you must consider:

  • Responsive and fluid design: you don’t know the screen size!
  • Avoid explicit pixel dimensions to maintain fluidity
  • Feature detection: always a must!
  • Orientations may change: be prepared to detect a change in orientation!

The more devices you support, the better, as long as you take the time to flexibly design and develop properly.

Be Kind: Please Offline

A classic mistake by app developers, even developers of iOS and Android apps, is assuming that the user always has an internet connection. Packaged apps generally don’t need to worry about these problems, but without an offline strategy, hosted apps become useless.

HTML5 apps can take advantage of the Application Cache (AppCache) API. This API has long made developers groan, but it’s the best option for making HTML5 apps work offline. While the AppCache API may not adequately accommodate for expansive hosted apps, apps with basic to medium architecture will be a good fit.

The Storage APIs are also essential when working with hosted apps offline. Saving data to localStorage and then sending that data to the hosted site when an internet connection becomes available is a common practice, and makes your app appear more fluid and valuable to the user.

Size and Speed Matter

Developers always strive to make their sites as compact and efficient as possible, but this becomes even more important when constructing HTML5 apps. There are a number of reasons for this:

  • Most countries outside of the United States don’t provide unlimited data plans, and customers are charged based on the amount of data used
  • Mobile devices don’t have nearly the amount of storage as desktops
  • More requests can slow down an app immensely over a mobile connection
  • You want good performance with and without a local wifi connection

Don’t become complacent when creating your packaged or hosted HTML5 app. Minify, gzip, concatenate, and do everything you can to ease the monetary and data cost to your app users.

Fill the (phone)Gap

If you’re looking to push your app to Android, iOS, Blackberry, and Windows phone, you’ll need the help of a utility like PhoneGap. Supporting multiple platforms is a major consideration when creating an HTML5 app, especially if you plan on using Mozilla’s new Web APIs, which doesn’t yet have a PhoneGap port.

In this case, it’s incredibly important that you create checks (via feature detection) for which environment you’re in, and either use the Web API of choice or the PhoneGap equivalent. This means creating callback functions and passing them to either the native or PhoneGap methods.

L10N

In the case of Firefox OS and other HTML5-based mobile OS’, they will most likely debut and be possessed mostly by users who do not speak English. Localization of your app is paramount to early adoption and usability. Packaged apps allow for different locale files which will be loaded as specified by the OS settings, and hosted apps should detect user locale and serve content accordingly.

HTML5 apps are easy to make, but good HTML5 apps take planning, testing, and brilliant execution. Sure, it’s possible to just only create a webapp.manifest file and submit your app to a marketplace, but take the time to consider all the user, device, language, and cost possibilities that factor into an app. It could be the difference between the next big app and one user remove five minutes after installing!

How To Start An Online Business Without Money

Do you want to learn how to start an online business with no money? Whenever the economy gets depressed, many people start looking for new job opportunities, but there is nothing better than learning how to start an online business and earning a decent income for yourself at any given period. While many are pounding the streets looking for the next great job opportunity, you could be at home earning money for yourself and family. It is a known fact that many people are searching how to start an internet business and many are succeeding at it.

Let’s look at the fact about how to start an online business for yourself and working for someone else

Firstly, there’s the issue of money. Would you rather make someone else a healthy financial life or would you like to make that happen for yourself? Second, do you enjoy watching your boss leave in the middle of the day to go spend time with their family while you slave away making money for them? If you answered, how I hope you answered, then there has never been a better opportunity to learn how to start an online business today.

How to start an online business for dummies

Starting your own online business opportunity doesn’t take a genius to do it. It just takes some time and dedication. Almost 9 times out of ten, the reasons for people not taking action to start their own online business is that they either think it takes too much money, or they don’t know what type of business to start. There are many resources that show you how to start an online business on the internet. And if you can commit a couple hours a day to do some research, you’ll soon realize that it isn’t too hard to learn how to start an online business.

First let us tackle the issue of money to start your own online business. If you are looking to open a franchise or physical storefront, then there is usually a huge financial obligation associated with starting these types of businesses. However, if what you’re looking for is learning how to start an online business where you can literally wake up and work from the comfort of your own home, then there is very little to no money that is needed to start an internet business.

Second, the issue of not knowing what type of online business to start is less complicated than it seems. There are many companies who will sell successful ideas to you that you can begin to implement right away. You can literally pay someone else little to no money to help give you dozens of proven online business ideas and techniques.

How to start an online business – Successful internet business ideas

There are literally hundreds of opportunities when it comes to starting an online business. You can begin by reading articles, like this one, looking at reviews and watching some free “how to start an online business” videos. There are also many online business website that you can opt in to that will send you free information on how to start an online business with no money. Don’t be afraid to do so as you can always opt out of these free emails whenever you want to.

You’ll also want to take advantage of anyone you might know who has started their own successful online business. Ask dozens of questions that will give you clarity as to the best way to begin your successful online opportunity. There are many people out there that are successful at what they do who are willing to help those in need. If you can mimic someone who is already successful, your chances of succeeding are increased tremendously.

If there are online business opportunities that you are interested but require some sort of investment, there are several ways you can raise this capital. For one, you can always borrow from friends or family. Although not my favorite, people who believe in you won’t hesitate in lending you some capital. Always remember to repay them back though as you don’t want to cause any problems in the near future.

Another way to raise capital when learning how to start an online business is by trying to contact the product owner, if you’re going in to affiliate marketing, and working out something with them. Many online business owners will help out if you are honest with them and you can show them that you are willing to do the work.

There are also some great online business opportunities that are already set up for you and all you have to do is pay a few dollars to begin utilizing these opportunities. However, my favorite way of learning how to start an online business with no money is by simply creating your own website and doing some leg work to get your site ranked on the search engines. About 99%, when choosing this method, is absolutely free. Do some research and find out how you can begin to do this on your own.

These are only a few ways on how to start an online business opportunity today. Even if you don’t have much money to work with upfront, don’t let it deter you from finding many other solutions that will show you how to start an online business with no money. Start living your dream today by investing in yourself.

When to Go Native, Mobile Web or Cross-Platform/Hybrid

First – Why Mobile Should Be On Your Mind

Ever since Luke Wroblewkski coined the phase “mobile first” in 2011, the zeitgeist of software development (at least the vast portions of it that touch mobile devices in some way) has been building towards a critical mass of not only “mobile first”, but – as the CEO of Twitter said – “all-in on mobile.”

I know I don’t need to remind you of how quickly the world has changed. If you’ve been developing software for as little as 2 years, you’ve already witnessed unprecedented shifts in focus and innovation, much of it occurring in a language once considered an also-ran by many – JavaScript. The odds are very high that you – the reader – have access to electricity at home and at work, and you most likely interact with the internet through multiple devices – desktop, notebook, tablet and/or mobile phone. It’s easy, then, to not fully grasp the groundswell of change headed our way. That being the case, let’s step outside of our normal techno-cultural environment for a moment to see the change through the eyes of East Africa (and of course, if you’re reading this from Kenya, asante sana).

When I travelled to Africa in 1998, my luggage was stolen. I spent several hours in an airline office in Nairobi, Kenya – where it took thirty minutes just to get a landline connection to the airline’s office in Uganda. It was busy. Thirty minutes just to get a busy signal! I travelled again to the same areas in 2003 and then 2005 – and I noticed something: the use of mobile phones had exploded. It was fascinating to observe the region skip the period of wired infrastructure (which we’d had for numerous decades where I live) and jump straight to wireless.

Why is this important? In a great piece by Toby Shapshak, he notes some interesting facts about Africa:

  • More people have access to a mobile phone than electricity (i.e. – no home electrical power)
  • “Mobile money” – payment systems that allows you to transfer money to another phone user – is expected “to become a $617 billion industry by 2016”.
  • “80% of the world’s mobile money transactions are happening in East Africa…” (with half of Kenya’s GDP moving through mobile payment services!)
  • In 2012, Google reported that 25% of its weekday searches in South Africa occur on mobile devices – and that figure jumps to 65% on the weekends

Perhaps the most bellweather-like point from Tony’s article is that the Economist noted, in 2011, that “six of the 10 fastest growing economies in the last decade were in Africa”.

“Simply put, Africa is not just a mobile-first continent”, Tony concluded. “It is mobile-only.”

“Great – but I write line of business applications for my company in Europe. I’m not writing payment, radio or apps like Farmerline. How is this relevant?”

If you don’t want to be caught by surprise, or unprepared, it’s relevant. If you – like many developers in the world – desire to further your career and be a part of compelling projects, it’s relevant. The largest players in the development world (and myriads of smaller ones) are heavily investing in mobile innovation, with a particular common theme of open web standards throughout many of the advancements. Mozilla is working on the exciting FirefoxOS (an OS that will be capable of impressive features on even lower-quality phones). Microsoft debuted the ability to write Windows 8 desktop & tablet applications in HTML, JavaScript & CSS. Adobe purchased Nitobi – the company that created Cordova/PhoneGap (more on this in minute, don’t worry) – and are actively developing it. I probably don’t need to mention Apple and Google!

The mobile tsunami is already underway – the question is, what will you do when it reaches you? What are your options, when the time comes that your next project is a mobile application? What does this mean for your team? Will you need to hire new talent? Which mobile platforms should you focus on supporting?

Understanding Your Options

A little learning is a dangerous thing –– Alexander Pope

Knowing is half the battle –– GI Joe

Would it surprise you to learn that there’s more than one way to write an application for an iOS or Android device (not to mention other mobile platforms)? To create an application for a mobile device, you generally have three choices:

  • Write the app in the native platform/language for the device. For iOS, this means writing it in Objective C using a Mac + XCode, etc. For Android, this means writing it in Java using Eclipse/Or-Insert-favorite-IDE + the Android SDK on Windows/Mac/Linux/BeOS (just kidding about BeOS). For Windows Phone 8, this means writing it in C#/XAML on a Windows 8 machine + Visual Studio 2012, etc.
  • Write a mobile web site. Your application is a web app – hosted on the web and accessed by the device’s browser.
  • Use a “Cross-Platform Tool (CPT).” To quote VisionMobile, “CPTs can be used to develop native, hybrid and web apps and come in several technology flavours: JavaScript frameworks, App factories, Web-to-native wrappers, Runtimes and Source code translators.” One of the most common approaches along these lines is the hybrid mobile app. In this case, your application is effectively a web app, but hosted inside a native-to-the-device application container. It’s installed, launched and used like any native app, and can access device APIs (with some exceptions/hurdles) – but it’s written in HTML, JavaScript and CSS. The most popular approach is to use Apache Cordova – often referred to as PhoneGap, though that is the Adobe-branded re-distribution of Cordova. Both Telerik and Adobe have Cordova-based options for hybrid mobile applications, for example. Other popular CPT approaches exist as well, including Appcelerator’s Titanium and Xamarin.

As you might already suspect, there are a host of trade-offs you will confront in choosing any one of the above options. These trade-offs are critical for the decision makers in your organization to understand. My goal in this article is to help jumpstart the discussion around these trade-offs, and help you begin to form the rails on which to guide and direct your energies as you assess which approach makes sense for you and your team. We can’t possibly cover every aspect of how these options compare, nor can we anticipate the widely-varying needs of each team, application, company, etc. – all very important drivers in a decision. But I can tell you now that – no matter what the “native-only-or-you’re-doing-it-wrong” or the “hybrid-is-just-as-good-as-mobile-all-the-time” pundits say – there is no single right answer in this debate.

Comparing Trade-Offs

Let’s start with a high-level view of pros and cons:

Approach Pros Cons
Native
  • Full Access to Device/Platform/APIs
  • Best Performance (esp. with UI concerns)
  • App Store Discoverability
  • Different skills/languages/tools for each target platform
  • Tend to be most expensive-to-develop, with thin margin
  • Client code not re-usable between platforms (of course)
Mobile Web
  • Arguably the broadest reach
  • Can re-use existing, responsively designed sites
  • Code base is re-usable between platforms
  • Finding necessary skills isn’t difficult
  • Extremely limited access to device APIs
  • Limited discoverability (no app store presence)
  • Tend to be more difficult to monetize
Hybrid (CPT)
  • Natively-installed & run, but built with JavaScript, HTML & CSS
  • Code base is re-usable between supported platforms
  • App Store Discoverability
  • Access to many device APIs (& extendable via plugins)
  • UI Performance affected by native webview implementation & (potentially) poorly written JavaScript/HTML
  • Differing webview implementations per platform
Cross-Compiled (CPT)
  • Can re-use existing skills if source language matches team skills
  • Code base is re-usable between supported platforms
  • Access to many (if not all) device APIs
  • App Store Discoverability
  • May not support all target platforms
  • Can be d

Why Not Just Go Native?

Let’s be honest – as I oversimplify for a moment – if money isn’t an issue and your company can afford to venture into multiple native platforms (i.e. – hiring talent experienced in each platform, etc.) and you need app-store discoverability, then native might be the ideal option for you. Developing a native application means you will not be constrained by any “lowest common denominator” forced on you by a hybrid/cross-compiled approach. It also means that you won’t be sacrificing performance and you’ll have access to device-differentiating features that may not be readily accessible to hybrid containers.

Then why do the other options exist? It turns out the developing native applications comes at a price. Literally.

Native App Means Native Cost

This is just a peek into the economic factors of writing mobile applications, but it already paints a clear picture: the margins are razor-thin, a large portion of companies don’t break even, and your chances improve if you can target mutliple platforms. That is why the other options exist, and why their siren call – the reach of multiple platforms without the expense of multiple teams – appeals to many. The question of “when should I go native?” is often best answered with “When you can afford to support each target platform – including hiring developers, designers, QA & analysts as well as purchasing/maintaining any infrastructure required to build for the native target”.

When Native Isn’t an Option

How will I know when it’s love? –– Van Halen

Now what?! –– Bloat, Finding Nemo

If going native is off the table as an option, how do you know which alternative to choose?There’s no silver bullet, but there are questions you can ask that will help determine your options:

  • Do you need to have an app store presence? If yes, then mobile web is out. If “no” or “not necessarily”, then mobile web is an option.
  • Are you OK with no app store presence, you need the ability to frequently update the application and you’re not nessarily concerned with heavy monetization of the app? (Believe it or not, this happens – particularly when an established company is expanding its reach to mobile to establish presence before other mobile initiatives.) If yes to all 3, then mobile web could be your answer (assuming you don’t need heavy device API availability).
  • Do you need to be able to access device APIs (accelerometer, camera, GPS, key chain, use push notifications, etc.)? Then mobile-web is out.

What’s the fuss about app store presence? Many companies may not already have existing customer accounts. Being in an app store provides the ability to reach & bill customers, as well as a means of distribution and discoverability for lesser-known companies/apps. If monetizing your app is critical, and you don’t already have solid channels via which you can reach your customers, then having an app store presence is something you shouldn’t ignore!

From the above questions, you can begin to see the logic behind answering “When should I go mobile web?”. In many cases, this is best answered with: “When you don’t need an app store presence, aren’t really using device APIs, aren’t as concerned about app monetization, and want to potentially take advantage of re-using a responsively-designed desktop site”. Don’t underestimate what’s possible here. Both Time.com and darksky.net are good examples of what’s possible with this approach. (It’s worth noting that some device-level APIs are available to mobile web applications – good examples being geolocation, media capture, contacts and others.)

Cross Platform Tools – Democratizing Mobile Development

Since hybrid mobile applications utilize many of the exact same skills necessary to create a mobile web site, this can be an attractive option – especially given the likelihood that you may already have a web development team and can leverage those skills immediately. Developers that had previously been kept out of a platform due to the walled-garden nature of developing for it can now create applications that usually look and feel like native apps. However, it’s not as simple as writing your web application and hosting it inside the native container app provided by, for example, Apache Cordova. You can (and probably will) run into road blocks – and it’s important to be aware of where that might happen.

Apache Cordova/PhoneGap

Cordova-based options are among the most popular hybrid mobile approaches (you will often hear “PhoneGap” used interchangably with “Cordova” – see this for more explanation). The native ‘webview’ of the device is used to run the application you create in HTML/JavaScript/CSS – effectively within a full-screen, chrome-less browser window. As a baseline, it’s relatively safe these days to assume that most, if not all, of these APIs will be available to you:

Accelerometer Camera Compass Contacts
File Geolocation Media Network
Notification – Alert Notification – Sound Notification -Vibration Storage

As far as devices, Apache Cordova/PhoneGap supports, to some degree or another, the following platforms:

Android Bada Blackberry iOS
Symbian Tizen webOS Windows Phone 7
Windows Phone 8 Windows 8

Not bad for platform coverage. But what do you do when access to a native API doesn’t exist? You can write a Cordova Plugin to open up a native API to your JavaScript. This is both a strength and weakness of this type of hybrid approach. Many Cordova plugins already exist (with generous open source licenses), which is a positive. However, if you need the functionality on (for example) iOS, Android and Blackberry – this entails writing a version for each platform. So now we’re back to needing other skills like Java and Objective C. The silver lining, though, is that the need for these skills is focused on the plugin only – and it’s reasonable to outsource the creation of these plugins to experienced contractors if you don’t have the skills in-house.

If you decide to go the Cordova/PhoneGap route, three of the biggest challeneges you need to prepare for are:

1.) UI Performance

It’s not rocket science – running an app inside a container can have performance concerns. Cordova/PhoneGap has gotten a bad rap in some cases due to slow webview implementations (looking at you, Android 2.x), as well as popular (ahem) UI frameworks that excel at causing reflow due to how they manage the DOM. Desktop browsers often cover up inefficient DOM and JavaScript due to the sheer brute force processing power available. You can’t assume the same level of power will be available on mobile devices. This means that even your experienced web team needs to pay close attention to things that can help or harm performance. I recommend starting with this post by Andrew Trice. The performance of webview implementations has improved to the point to where hybrid approaches work well for line-of-business style applications that don’t need game-intensive UI performance.

2.) Debugging

Not all mobile devices support remote debugging like iOS 6 (for shame). Weinre is the next best option (currently) for remote debugging, but it can be a painful, buggy experience. You will find that running your hybrid app in a dekstop browser simulator (Telerik’s Icenium and Apache Ripple both provide simulators like this) will help a great deal – given the maturity of debugging tools in browsers like Chrome. Of course, if you write Cordova plugins, you will need to become familiar with each platform/SDK’s debugging toolsets as well.

3.) Platform Requirements & Maturity

In 2012, Vision Mobile’s Cross Platform Developer Tools report indicated that while PhoneGap had a high adoption rate, 27% were abandoning it – likely due to frustrations with the development & debugging experience, coupled with lack of desired native APIs. (Appcelerator Titanium had a slightly higher abandonment rate of 33%.) As predicted, vendors have improved their tooling quite a bit in the last year, though it still has a long way to go. Both Adobe and Telerik are making headway in this area by providing cloud-based build tools alonside other differentiating features. Removing the burden of locally-installed SDKs, improving the debugging experience and reducing the pain of including custom Cordova plugins will likely go a long way towards retaining developers.

There Can’t Be Only One

I would be foolish to not at least mention two of the alternatives to Cordova: Appcelerator Titanium and Xamarin. Titanium provides a cross-platform JavaScript API (giving you some code re-use), while it also focuses on leveraging performant native UI widgets. Xamarin allows you to develop iOS, Android & Mac applications in C# – and even provides the “Xamarin Component Store” which includes UI controls, themes, services, graphs and more. Vision Mobile’s Cross Platform Developer Tools 2012 report indicated that both PhoneGap/Cordova and Titanium could substantially improve retention if they address debugging and development features, and that Xamarin appeared to be climbing in popularity as well.

So – this begs the question: “When do I go with a cross-platform tool?”

  • Do you need to support multiple platforms but don’t have the skills or budget in-house to go native?
  • Is an app store presence a must-have?
  • Do you have existing web skills (or C#, in the case of CPTs like Xamarin) that you want/need to leverage for your mobile application?
  • Is maintaining one code base (and thus synchronizing releases across platforms) a goal?

Answering yes to the questions above (especially the first one) is a good indicator that using a CPT might be your best bet. As to the question of which CPT to use, it depends so heavily on details unique to your circumstance that it’s not easily predictable. Obviously, a heavy .NET shop might favor Xamarin. Companies with available web talent may favor Cordova. The tools provided by vendors can drive things as well. If you target iOS and Android primarily and want to sidestep SDK requirements, easier testing & simulation and a simpler publishing-to-app-store experience, using Icenium is a good option. If you have a custom build tool chain, need to support multiple platforms, want to use Cordova and graft it into your build setup, then PhoneGap Build might be an option. The different alternatives exist because the needs of different apps and companies can vary widely!

Where To Go From Here

In 2011, Marc Andreessen said that “software is eating the world”. It’s clear from current trends that a vast portion of the software to which he refers will be on mobile devices. If you are evaluating alteratives currently, I recommend a small pilot project in 2 or 3 of your top choices to get in-the-trenches experience with them. Once you set a course, find and follow the top voices for that platform or CPT – and become a voice as well.

Get Good Technical Support with that New Computer

Most computer problems happen at the beginning and end of a computer’s life. By the end of the computer’s life, most owners are ready to move it down the road or have already bought its replacement. Technical support for an old computer is rare. However, manufacturing problems, user ignorance, and software issues can spring up immediately when starting up that new computer.

This means that it is vital to have good technical support when buying a new computer. Fortunately, most large computer retailers will offer this support as part of the sale’s package. The type of support offered can be an important issue also. Depending on the level of the new owner’s expertise concerning the hardware and software just purchased, onsite technical support can be more significant than telephone support.

Onsite support is normally an extra purchase above the cost of the computer. This type of support will run from one to three years depending on the contract purchased. Having technicians come to your home or place of business is not cheap. These maintenance agreements can cost from one third of the cost of the computer up to the purchase price of the equipment.

At the very least, you should never buy a new computer that does not include some type of technical support for the first 60 to 90 days. One year of support is better. If you have any idea about how to use a computer, telephone support will probably be sufficient. Even over the telephone, a major hardware or software issue can usually be resolved. This may mean shipping it back to the company or the manufacturer. Make sure that you understand who pays for the shipping.

The shaking and bumping that happens in shipping can create some loose connections inside the computer. Likewise, if components were not plugged in tightly, they may have issues even if shipping did not create problems. While most computers do not have these problems, a few do. Stores do not open computers and plug them in before selling them to customers. This means that you will be the first to discover that your computer has problems.

The store will almost always offer either technical support or replacement of defective equipment or both. Call the store first unless you have previously been instructed otherwise. The store will have someone who has some experience with this hardware unless it is a big discount department store. In that case, you will be instructed to call the manufacturer’s number. Within the first 60 days or so manufacturers will rarely give you problems with trying to solve your difficulty.

Software issues can sometimes be more difficult than hardware problems. These can be tough to diagnose because they often look like a hardware problem. A good technician will be able to guide you through the steps necessary to distinguish what type of problem that you have and help to solve it.

Try to avoid technical support that involves a cost meter running at $50 or more dollars per hour. Always make sure about what type of help is available before buying a new computer. You will discover it is often better to pay a high price for a computer with good technical support behind it than to get a bargain with no support. Being billed for an hour or two of expensive help can quickly eliminate a bargain price on a computer.

Requirement And Significance Of The IT Related Services In Managed Way

The present age is of technical perfection age. In all the sectors of life, one can see the use of computers. Starting from nursery education to higher education, service sector, production sector and defense sector with many more branches, all are related with computer applications.

Business sector is quite effective with the IT services whether in private sector or public sector. It is well known that maximum services are now become online.

A simple computer knowledge bearer knows better that the online conduction of various departments is not an easy job. A lot of efforts have to be made for it. A smallest example of rail reservation is sufficient to describe the significance of managed services.

A person wants to have its seat reserved and login the official website of railway department. He selects the option and chooses the appropriate train and pays. Immediately he/she gets a message on mobile regarding confirmation of the ticket.

The ticket is also available for printing. All the actions are done in few seconds. But consider how many services are required for this single job. Railways have to make tie up with various hosts to host their website. Then banks also have tie up with railways to connect their payment gateway.

Then the service provider has to make tie up with the all of the departments to generate the messages and deliver to the customer. These are some of the action involved in managing the services.

Likewise, managed services are applied in each of the sector.  As far as business is concerned, web based services, application maintenance, software development according to the requirement of business organization, configuration of the systems and devices, data transformation facility, IT security are some of the most importance services which are provided to the business organizations in managed way.

But all of these managed services are not available with any of the company. These services are also outsourced. In case a business organization needs managed services, it should not call various service providers. There are a lot of companies which provide all the managed services.

Client need to call any one company and instruct them regarding type of services they need. This is the job of company to provide all the managed services. Though, the same are outsourced and it is known to the business organization but to avoid unnecessary burden it is better to hire one company and it will manage all the services.

It is well known that a businessman needs faster development and ready to invest for all the services required for growth. But main concern of the businessman is focused on the core areas of the business. Concerned authority of the managing committee is responsible to manage all type of services for the organization.

The history of outsourcing is not new. Since the inception of online services, outsourcing is in practice. In a business, all the physical things are also outsourced. The main concern of the businessman is to invest the capital and erect the required infrastructure. Now all the things are available on outsourcing. Raw materials to transport all the things in between are also available through outsourcing.

Even, labor and workmen are also available through some vendors. The concept of casual labor has been eradicated in various countries of the world and the present concept is of contractual labor. The labor will work for the organization but for financial matter, they will be depending upon some contractor. This is the best example of human outsourcing.

Ways To Find The Best Online Electronics Store

With many online electronics stores springing up every day, it becomes difficult to choose from the best and the most reliable one. All the online stores host a display of branded and affordable products from the top leading stores. People have begun shopping for electronic goods exclusively as it is convenient and easier to rely. From hi-tech indoor electronic gadgets to the outdoor Bluetooth speakers and cameras. Buying all the sophisticated products has now become easier because of this online store. One will be able to reach to a specific model without worrying about the cost.

Along with the specifications and description, one will be able to choose the best gadget that suits their budget. Not all websites guarantee reliable and efficient services like the top leading ones. Therefore, it is necessary to look out for certain things that will provide effective options for one to rely on the available products. By considering some aspects that will be mentioned later, it will be easier to choose from the best and the worst that are available online. Below is a list of things that one needs to consider before pursuing to buy the products at any online website.

Affordable price

Isn’t it great if all the products can be availed at the best possible rates? To know more about the affordable process that are available for the electronics, you will have to compare between different websites. This will allow one to get great discount and deals with every purchase; one can also make use of the promotional codes while making a bulk purchase. All the gadgets like the home theater system and the television sets can be availed with the best prices and discount rates. The quality factor and the brands that are promised by the website are better rated.

Variety

Every store should have a variety of gadgets with the reviews and specifications that will allow the customer to choose them wisely. With the above mentioned website, one can buy laptops and music players from the best brands in the industry. Brands like Sony, Toshiba and Crosley have dealt in selling their products. One will get the flexibility of choosing a variety of products with the same brand name and that too at cost effective rates.

Payment Options

There are various payment options available with all the leading online stores. Every website should have a secured payment gateway by whichever mode the buyer wants to pay. With a superfluity option of payment methods, one should get all the necessary discounts on the products that they buy. On bulk purchases, promotional codes will be availed for using them for effective cost saving.

Contact information

Every website should have the necessary contact details mentioned along with the history of their business. This will provide the buyers with necessary information about the company or the online electronics store. The company can be contacted via e-mail and a form is provided for filling the necessary queries along with the buyer’s details. The customer care services will contact the buyer with the necessary solution to their problems.

Shipping Charges

What if you found the electronic gadget at cheap rates and the shipping costs are higher. Many people forget to look into this aspect and later regret about the fact.

Rules of Bargain Hunting in Online Auctions

With the recent economy downturns one will definitely get buyers and sellers trying to save or make that extra money through online sites such as Ebay. With lots of deals and bargains to go by, there is sure something for everyone on willing buyer willing seller basis.

Being the most popular of places to pick an ultimate bargain and cheaper than other options, online auctions can also be quite a drawback. A few rules can make that online bargain worth it, an experience you would want to enjoy frequently.

Familiarize yourself with the rules:

Though perceived and may seem basic, a good number of people willing to make a purchase don’t really take time and think it through.. First things first, browse through the website and familiarize yourself how bidding works, strategize and make a decision on how you bid.

Know the right time to withdraw:

Do not bid early in regard to standard auctions, as this will only make the price skyrocket. One might feel tempted to bid to some price but patience is key, wait till that last minute. Most popular bidding websites allows bidders to use tools to help in bidding to a stipulated price to the last minute.

Do some homework:

Researching for an item you want to purchase is essential. If you can take time and read about it online or engage friends about its quality through a chat if possible. Cheap is expensive, look out for quality.

Offline or online shopping:

Imagine looking up an item and getting the best bargain with the lowest bid, adding salt to the wound, critics approved it. You get it delivered and its totally like nothing you bid for. Online buying has its drawbacks; the same item you purchased online is probably at your local stall. This is where offline shopping comes in hardy. If your local offline stall is cheaper than the online auction website, you might want to go buy there.

Summary

An imitation of the real thing is an embarrassing bargain and a true waste of your hard earned money. Look out for websites do offer what you really supposed to buy. Simply do your home work.