Sending iOS Push Notifications with PushLayer

We’ve just launched a new service, called PushLayer, that makes sending push notifications to iOS devices a breeze.

iOS push notifications with PushLayer

Over the years, we’ve worked on quite a few iOS apps, and more than a few have had to deal with push notifications in one form or another. Unfortunately, dealing with device tokens and communicating with Apple’s Push Notification Service (APNS) is cumbersome, very time consuming, and isn’t tolerant of mistakes.

In the past, we’ve tried using one of the other services out there, but have been very frustrated when we couldn’t effectively debug notifications that weren’t delivered (in fact, on one of our most recent projects, we went months without getting any notifications from our staging builds). We were also always mystified by pricing based on “active” devices.

We’ve also tried rolling our own system for communicating with Apple and managing device tokens. While this gave us the best flexibility in terms of debugging, it required several weeks of intensive development time, and was not forgiving of mistakes (for instance, Apple will blacklist sending notifications if you don’t properly monitor their feedback API). It also leaves us with a long-term commitment to ensuring we update our code to any changes Apple rolls out.

So we come to PushLayer, a service we’ve been working on over the last few months, that makes sending iOS push notifications about as simple as it gets. For instance, to send a notification, you just:

  1. On the iOS device, prompt the user to enable push notifications. If the user accepts, iOS gives you a unique device token.
  2. Store this token someplace safe (such as on your own server as you’ll need to reference it when you want to send a notification).
  3. Send a POST request to PushLayer using our handy RESTful API, referencing the device token you got in step #1. For testing purposes, you can even login and use our handy interface for constructing a notification.

That’s it! PushLayer communicates with Apple, constructs the binary payload, and the notification pops up on the device usually within a few moments.

PushLayer has a number of compelling features we wish we had when we were last working with APNS:

  • Every notification gets an entry in your PushLayer account, allowing you to drill into what the status of each notification actually is.
  • Save time by not having to roll your own communication system with APNS (and avoid having to maintain it later).
  • Pay for the actual notifications you send rather than some vague concept of “active” devices, with prices significantly below other services out there.

If you’ve been thinking of adding push notifications to your iOS apps, give PushLayer a try. It’ll save you a ton of time.

Make music on the iPad with Shapemix

We’ve been working on a fun, powerful, music-making iPad app called Shapemix and are thrilled to see it go live in the App Store!  We’ve been working with Colin Owens and his team to build the app and get it launched, and are thrilled to see some of the positive press it’s already gotten (check out the Mashable article).

The app is designed to help you create music in a fun, intuitive way that anyone – even those without a musical background – can pick up quickly.  The idea is to grab some tracks (at launch, there were over 100 free tracks in the Shapemix store), then mix them together to create completely new songs.

There’s two ways to mix tracks, each giving you different levels of control over your song:

Mix View

Each track is represented as a circle: as the song plays, you’ll see visual cues representing which track is playing and what effects are applied to it.  Tracking these circles around the screen changes the volume and pan of the track.

It’s a great way to get real-time feedback of changes you make for your song.  It also takes great advantage of the multi-touch capabilities of the iPad.

Time View

As you create your songs, you’ll get to a point where you want finer-grained control over what tracks are being played.  That’s where the time-view comes in.  It looks a bit like a traditional music-editing program, but still retains the app’s simplicity.

You can drag clips around, solo and mute, and decide exactly where each clip will start and stop in your song.

We were thrilled to be part of the development team.  Shapemix is made up of a number of great musicians, designers, and programmers.  Be sure to check out Shapemix in the iTunes store.

How Online Businesses Make Money

The majority of people online aren’t on the Internet to make money. Instead, they use the Internet for things like entertainment, news, games, and keeping up with friends and family.

However, for those who want to want to start a business, the Internet is a great place to look. It’s a relatively new, growing area that still has tons of potential. Because of its newness, there are almost certainly new sources of revenue still to be discovered and explored. It’s never been easier or cheaper to start a business.

With that said, there are a number of common models that have developed. Each have their tradeoffs with regards to risk and reward, which we’ll compare below.

1. Advertising

Advertising was one of the first business models to develop on the Internet, given it’s long history on paper, radio and television. In the early days, ads were sold like they are on television. They were generally sold on highly popular destination sites, with the goal of being in front of as many eyes as possible.

Google was one of the first to really take advertising to a new place on the Internet. By using peoples’ search queries they were able to target ads better than ever before, while simultaneously reducing the barrier of entry for companies looking to advertise by only charging an advertiser when a user clicked on their ad.

You don’t need to be a search engine to make money from advertising. Indeed, in many cases advertising is the de-facto model for converting a large number of users into revenue. Be careful though: part of Google’s success was that people come to a search engine looking for something, and if an ad gives them what they want, they’ll click it. On many sites, users aren’t necessarily looking for anything, and click-thru rates can be notoriously low.

Investment: Medium. Building a website, hosting it and marketing it requires some capital. However, the idea is to start making money soon after you launch, and hopefully make a return on your investment within a short amount of time.

Odds of success: Medium. As shown in the Google example, there is the potential for a lot of revenue in advertising, but it’s also a notoriously difficult market for websites. Getting a lot of traffic is key here. It also requires you to essentially become an advertising company, which means your real customers are your advertisers, not your users.

Potential return: Medium. It’s very difficult see huge profits from advertising. You’re basically a middleman between other companies and their potential customers, and there’s a limit to how much companies will spend on adveritising. Companies that depend on advertising are also very prone to swings in revenue, as advertising budgets are often the first thing to be cut when times get tough.

2. Promoting an existing product or service

In this case, you already have a business with a source of revenue, be it a restaurant or a law firm. Creating a presence online can be a great way to dramatically expand your customer base.

What’s great about this is that if you’re a profitable business, then you have a proven track record. On the other hand, if you don’t already have a business, starting an offline business can be very expensive (buying property, getting licenses, etc).

Investment: Medium. Again, the main investment is building and marketing the site. However, if you already have a profitable product or service, then you should already have the capital to create an online presence.

Odds of success: Medium to High. What’s key is marketing properly. Simply putting up a webpage doesn’t guarantee new business. On the other hand, keen marketing can make your revenues explode. A great example of this is Wine Library, which started as a New Jersey liquor store and came a $50 million dollar business thanks to the marketing of Gary Vaynerchuck.

Potential return: Low to Medium. While there are certainly cases where a small but successful company can go on the Internet and exponentially increase their revenue by going from local to global, you’re also opening yourself up to a lot more competition. But if your competition isn’t online yet (or isn’t competing effectively online), it’s a great way to get some new customers.

3. Selling an online product or service

The difference here is that you’re creating something new, and usually something that only exists on the Internet. An example of an online product is an eBook, while an online service might be a dating site.

There’s a lot of money changing hands on the Internet these days, and the more businesses and individuals depend on the Internet, the more need they have for other services and products. Subscription models are popular here, where customers keep paying as long as they get the desired service.

Investment: Medium to High. All the costs that exist in the cases above exist here, but multiplied. Not only do you need to create a compelling website, it needs to be so compelling that people will actually give you their money. Similarly, your marketing needs to be good enough to actually convince people to buy your product instead of just going to your site.

Odds of success: Low to Medium. Certain kinds of online businesses can do quite well for themselves. In particular, doing business with other businesses (B2B) is a growing online market. 37signals is a pioneer and great example of this kind of company. Be careful though, as consumers are traditionally loathe to part ways with their hard earned money for an online service.

Potential return: Medium to High. A successful online business can easily make tens or hundreds of millions of dollars a year. The key is to be scalable. In other words, being able to grow from 100 customers to 10,000 customers while remaining profitable. One of the nice things about the Internet is that there’s less friction holding back your growth (you don’t need to spend $10 million on a new factory, for example)

4. Be acquired by another company, or go public

This a trend that’s been exemplified by some high profile acquisitions made a few companies including Google, Yahoo and Microsoft. Since the dot-com era, Internet IPOs are much less common, and there are a lot startups whose main goal is to be bought out by a bigger company. It doesn’t always have to be a billion dollar acquisition by Google; there are many small (under $1 million) acquisitions made by medium sized companies.

This is a risky model to say the least. There are many factors that cause an acquisition to take place, most of which are out of the control of a small business. While Google might acquire your company because it creates synergy with their products, they also might purchase a competitor or just build your product themselves.

Investment: Very High. It’s very unlikely that you will be acquired without having a large number of existing users and/or a proven track record. This means not only building your business and marketing it, but sustaining it and growing it to the point where another company finds value in what you’re doing. You almost certainly need outside investments to get you to this point, which means angel funding or more likely venture funding. This opens up a new set of challenges as you now need to market your business to an investor.

Odds of success: Very Low. For every very public example like YouTube (which Google acquired for $1.2 billion) there are countless unseen examples of failed companies who never see the big payday and run out of money trying.

Potential return: Very High. If you’re one of the lucky examples, you can easily make tens of millions (or more). But remember the odds of this happening are low. Make sure you’re willing to take a big risk for a potentially big reward.

5. Get traffic/users, then choose one or more of the above

This is a bit of a side case that doesn’t exactly compare to the examples above, but is worth mentioning nonetheless. There are a growing number of companies that launch without figuring out how they will make money.

The idea is to focus on getting a large number of users, and that when that happens, making money from those users is comparatively “easy”. Twitter is a high profile example of this, having only recently starting to announce a business model. When the time comes, any of the above models can be considered.

Investment: High. Outside funding (angel or venture) is almost certainly required.

Odds of success: This is hard to say, as the market hasn’t really played itself out for this one. My personal opinion is that the odds are still very low, because outside funding means that investors will want a big return, and it’s unlikely advertising will do that. This means one of two things. Either you come up a really great paid service, and even then you’re at a disadvantage as you now have to either convince people to pay for something that used to be free, or create a really good new idea that people will pay for. The other option is to look for an acquisition, which is also risky as discussed above.

Potential return: High. If you’re able to get a large number of users, you get to start with a big customer base. Or if you sell the company, you can possibly get a nice payday.

If you want help building a business, or just want to discuss a potential business, please contact us — online business is our passion!

When To Place Ads On Your Site

Many clients have approached us for suggestions to monetize their site, and invariably there are questions about advertising. Although it’s easy to place ads on your site, there are reasons why it may not lead to the kind of revenue you might expect. There are also some drawbacks that need to be considered as well.

Of course, not every site is a good candidate for advertising in the first place. If your business model is about selling products or services through your site, incorporating ads could reduce your credibility (not always, such as if you place ads only on your blog for instance). On the other hand, if you’ve created a comprehensive site with an extensive library of content, advertising makes perfect sense.

When is the Right Time To Place Ads on a Site?

First and foremost, placing ads on a site is not a panacea for generating revenue. Chances are, you won’t see much revenue from your ads, and you can actually drive away traffic (and reduce credibility) by doing it incorrectly. Since each site is different, only the site owner knows the kind of expectations of its audience.

Take it slow: don’t place any ads on a site right off the bat (expect in a few circumstances). Instead, focus on building your audience. Increase the number of loyal users, get people to participate, and build your traffic levels. Use this time to establish credibility for your brand, and to become known as an authority in your field.

Advertising

Once you’ve built a solid audience, then it’s time to start experimenting with advertising. But again, take it slow. Try placing some Google text ads in an unobtrusive place on your site and gauge the reaction of your users. Then, continue to experiment. Try some text ads in other places around the site, try alternating between text and banner ads, etc.

At every step, keep very careful track of your results: reactions from audience members, traffic levels and impression counts, revenue results, and of course the click-through (CTR) rate. Meticulously track all of this in a spreadsheet, and be sure to provide ample time for each experiment.

Over time, you’ll come up with a set of data in your spreadsheet that identifies the key areas of your site that are best for advertising: what pages and the placement on those pages that generate the highest CTR. You’ll also learn what spots don’t help and detract from the usability of your site.

Setting up carefully-constructed experiments and allowing plenty of time will give you the data to optimize your advertising: giving you the greatest revenue with the least distraction for your users.

Getting started with online marketing

As a web developer, I work with a lot of entrepreneurs: some are established and looking for a simple web presence, but the vast majority are building something completely new, and they need help spreading the word.

Marketing online is a huge subject, but the key concepts applicable to most sites are fairly straightforward:

  1. Get people to link to you (especially blogs and well-respected sites)
  2. Maintain your own blog with frequently updated (and tailored) content, and practice good SEO techniques
  3. Consider paid advertising

Getting backlinks

One of the main tasks involved in promoting a new web site is to get other people talking about it. This serves a number of purposes, first and foremost is gaining valuable backlinks, which greatly improve your search engine rankings. It’s also one of the most difficult and time-consuming tasks.

The process is fairly straight-forward. Identify and rank blogs that discuss your subject material. Using a site like Technorati (or just Google) will help you pick out relevant sites. Then, rank them based on popularity and suitability. This ranking will help you prioritize your high-value sites from your nice-to-haves.

Once you’ve identified the sites to contact, work on a compelling pitch. It should be short and get to the point quickly (preferably in the first sentence or two). Be sure to include why the blogger should write about your site, and even include helpful content they might use in their own article. Make the blogger have to do as little work as possible to write about your site. This increases the likelihood of a post.

Once you’ve crafted your pitch, send it out. Be sure to personalize it for each blog though: include the writer’s name, and some relevant notes about why your site is perfect for their blog. Once you’ve sent out the pitches, you need to be persistent (but not annoying). Follow up after a week or so with another personalized note (and tweak your pitch). Bloggers are just like everyone else: they’re very busy and are likely deluged in email every day.

Practice good SEO techniques

Search Engine Optimization isn’t a panacea of web marketing, despite what many snake-oil salesmen might have you believe. SEO is really just the ticket to entry: if you aren’t practicing good SEO, you could be hurting your site quite a bit.

In general, SEO is fairly common-sense: use proper web coding and design practices and don’t play tricks with web crawlers. A good web developer will do this automatically (and a bad one could get you banned from search engines). There are a number of other techniques you can do, however, that can make a big difference.

The key here is to update often, and to tailor your updates to the kind of keywords you expect your target users to enter into search engines. As an example, if you’re a toy company, you’ll want to tailor your content to mention key toy-related words (“action figures”, “dolls”, etc). By doing this, you’ll be setting up relevant information for people in your key demographic, who are more likely to come to your site when searching for “action figures” or “dolls” on a search engine.

Updating frequently via a blog is also helpful in SEO because it gets search engines to crawl your site more frequently. Why is this good? Well, for one thing, search engines are increasingly interested in the timeliness of the content they crawl. Information that has just been posted online is presumably of greater interest to web searchers then content from years ago. Keeping your content and web site updated frequently can be helpful in your search engine rankings.

Paid advertising

The first two aspects noted above are considered “organic” web marketing, and can have the biggest impact on your site. The downside is they are extremely time-consuming to implement. For some sites, however, paid advertising makes a lot of sense (especially if you have something of a budget). It’s a quick way to start getting your site noticed, and it can be quite affordable.

Paid advertising comes in two flavors: CPC (Cost Per Click) and CPM (Cost Per Thousand impressions). The former is the typical model of search engines like Google, where you pay some amount each time a person clicks on your ad in search results. CPM, on the other hand, is often used on higher-traffic destination sites, and you pay a certain amount to show your ad to visitors (an impression is every time a page is loaded).

In general, you’ll want to start with CPC and then consider branching out to CPM, primarily because the barrier to getting started with CPC is so minimal. In fact, all you need to do is setup a Google AdSense account, write some ads, and set a daily budget, and you could have ads showing today.

So, just how effective is paid advertising? Well, it depends on several factors: how much time and effort (and money) you’re willing to put into your campaigns, and how effective advertising is going to be for your target user.

Tailoring CPC ads via Google and other search engines requires a lot of fine-tuning. You should be familiar with A/B testing, landing pages, and willing to experiment with your content. It can take quite a bit of time to nail down a highly-optimized paid advertising campaign, and you’ll need to work with your web developers to get the landing pages just right. Once you have a well-oiled advertising campaign, it should start paying for itself (and you can even track those conversions automatically).

CPM advertising is a little different, and usually involves some graphic design. You’ll often need to put together some catchy-looking web banners and corresponding landing pages to create a successful CPM campaign. You’ll also need to do your research: finding the right web site to place your banners requires you to get in depth on their users. Make sure you’re buying ad space on a site that reaches a lot of your target users, and tailor your web banner and landing pages to them explicitly.

Wrapping Up

Web marketing is a complex subject, and the key takeaway here is that it’s also time-consuming. With a good team at your disposal, you can avoid many of the mistakes of inexperience (some of which can cost you greatly).

Ultimately, it’s a process of fine-tuning. As you experiment, you’ll learn what avenue and message works best at reaching your target customer, and what web marketing techniques result in the highest return.

Bad Webapp Names

There’s a funny article up on ReadWriteWeb about some of the worst webapp names, though only 10? Almost every day there’s a stupid name coming across the TechCrunch wires. But on the flip side, you have to give a lot of these people credit: coming up with a name for a product is very difficult.

Case in point: for a long time, we’ve been calling our monitoring software RSP (which, for those paying attention, doesn’t stand for anything). The name is forgettable and boring, and really doesn’t convey what the product is all about. So, in a teaser for the future, we’ll be ditching the name RSP in favor of something else. It’s a bit more web 2.0-ish, it’s kind of fun, and it’s different. I won’t say just what it is yet, but it’s coming soon. :)

Freelancers/small business: Track your invoices

invotrakApologies for the shameless plug, but I’m excited to mention our new site which launched late last week: invotrak.com. We do a lot of consulting work for various clients, often with many projects running simultaneously, and it got harder and harder to keep track of the invoices we sent to our clients. So, out of this need, invotrak was created. It’s free and easy to use, so if you’re in a similar position to us (freelancers, small businesses, etc), check it out and let us know what you think.

Also, apologies for the lack of posts lately – we’ve been real busy getting invotrak launched and work with our clients. Hopefully we’ll get some more posts up this week.

Project Management with activeCollab

activeCollab ScreenshotWe’ve been looking for a good way to manage the myriad of projects we’ve been working on lately, with efforts spanning several clients, different developers, and all sorts of other complexity, and recently gave activeCollab a spin. If you haven’t seen it yet, it’s a great open source project management tool without a lot of the bloat (plus, it doesn’t have any of the restrictions found in BaseCamp, a tool we were also considering). I’ve been quite happy with it so far, though we’ve only just begun using it.

The idea is to allow access for many of our clients to the activeCollab portal throughout the relationship, making it easier for all of us to communicate progress. Of course, nothing will replace those good ol’ regular status reports, phone conferences, etc, but this gives clients a better understanding (and a more direct line of communication to developers) while working on their project.

My biggest concern going forward is keeping things fresh. We’ve tried using SugarCRM in the past to manage clients, contacts, projects, and other data, but it just wasn’t used as much as it could be (people just didn’t keep it updated or use it on a regular basis, myself included). Part of this could be due to it being a change in a regular routine, but I think there was something else. After all, we implemented a wiki based on MediaWiki after trying Sugar to great success. So I believe the main problem with Sugar was due to it being not quite what we needed. Incidentally, Sugar has an interesting project management module for the Sugar Enterprise product, though we’re not ready to make a purchase for a tool like this yet. Hopefully activeCollab will be a success.

5 Ways Consulting Can Help Your Software Startup

While still focusing on developing and selling RSP, Draconis has also been offering consulting services for some time now. It might still be more common for consulting companies to branch into the software market, but it’s becoming increasingly common for things to happen the other way around, as it did for us.

A lot of the time doing contract work on the side can be very easy for startups. Many may already have relationships with companies who need work, which simplifies what can be the most difficult part of consulting: finding jobs. Even without an network to work from, the software startup already has personnel, a set of marketable skills, and an LLC or similar corporate entity.

Let’s look at some of the benefits consulting provides:

1. Consulting brings in money when you need it most.

Startups can always use more money. This can be particularly true during initial development, when it’s likely there’s no money coming in at all. Having a steady stream of income can literally save new companies from going under. Consulting can often be pretty lucrative on its own, and while you can’t necessarily count on a job whenever you need one, it can be a lot more consistent than those early sales. Even when there is a temporary lull in work, there’s always plenty to be done in the startup itself.

2. Consulting gives you new customers.

While you certainly don’t want to start right in with a sales pitch as soon as you get a new job, you might be surprised how often clients end up becoming customers. A big reason companies avoid buying from a startups is the lack of a strong reputation. Once you’ve proven your trust by doing good work on a job, that reputation is already there. Forming a good relationship is a great way towards getting that next client.

3. Consulting helps you learn what your customers needs are.

During the trials and tribulations of forming a company, it can be easy to loose focus on what your target market wants. A brand new feature is no good if it’s not going to do something to help your customer. Consulting will give you a chance to see firsthand what a potential customer is going through, and will probably give you tons of ideas of how your software tool can help them.

4. Consulting teaches you new skills to help your business.

You can almost always learn something from seeing another company in action. This could be anything from how they pay their sales staff, to how they run their finances, to which kind of furniture they have in their lobby. Keep in mind that you might see just as many things not to do — but this can be just as helpful. There’s no better way to learn about the world of business than by seeing what makes real world companies work (or not work).

5. Consulting gives you a break from the routine of building a business.

Let’s face it; starting a business can be tedious. Don’t get me wrong, there’s often tons of excitement, but when you’re in the middle of writing a business plan, or working on that 10th white paper or piece of marketing material, you might feel like you need a breather. Rather than loosing focus on your company, consulting gives you a chance to do something different while still helping your company. You get to work on a variety of projects, meet new people, and of course the extra money doesn’t hurt either.

HOWTO: Create an online store

When creating a company, one of the significant choices any entrepreneur makes is deciding how to sell their products. In today’s economy, there are hundreds of different routes to take, often establishing a mix of various strategies tuned for their particular customers. One such route is to create your own online store and sell your products directly.

Recently, my business partner and I were considering opening up an online storefront for our software company, Draconis Software. The idea was to make it easier to reach smaller customers (those who would only be interested in 1 to 5 software licenses, and usually costing only a couple hundred dollars in total). Rather than having these small customers go through our regular sales channel (where we target larger customers with sales presentations, on-site demonstrations, etc), these customers are able to evaluate the software for themselves using a free demonstration version, and make the purchase – all on their own.

Setting up an online store can be a very complex process, and is very dependent on how many customers you’re expecting, the level of control you require over the process, and the amount of legal liability you’re willing to expose yourself to. There are essentially two options: create and host the storefront yourself, or outsource it to a specialized service provider. We chose the latter.

This is a multi-part article that outlines what I found in my research, including reasons for choosing to outsource, how you might do the same, and even info on setting up your own storefront in-house. This part details why you might choose to outsource to a registration service, and some of the options you have.

[Read more...]