joi, 16 mai 2013

Google I/O 2013 - It's all about keeping the developer community happy


Google's I/o gathering keynote was, from various perspectives, the inverse of what we envisioned.

Google did not advertise any new fittings —no new Nexus 4 telephone, overhauled Nexus 7 tablet or new Chromebook —nor did the association uncover another form of Android. More stunning bits of gossip about a "X Phone" from Motorola and a 11-in. (28 cm) tablet from Samsung did not emerge.


Rather, Google used about 50% of its twelve-month developers gathering concentrating on, well, developers, and the devices they need to bring about a noticeable improvement applications. Whatever is left of the time, Google used affirming changes to center Web administrations, for example Search, Maps and Google+. The greatest new item launch was seemingly Google Play Music All Access, a contender to membership benefits like Spotify and Rdio.

In different statements, Google was less fascinated by wowing the swarms with garish fittings and software news, and more fascinated by making itself look great.

What's New for Google Users

Here's a brisk review of all the new, purchaser confronting things that Google declared at the show:

Google Play Game Services: Google's reply to ios Game Center and Xbox Live lets clients begin playing an amusement on their telephones and continue advance on their tablets. It'll additionally have accomplishments, online multiplayer and leaderboards tied to your social rounds on Google+. Shockingly, Google will let developers add its diversion administrations to ios apparatuses and Web-based amusements, not simply Android.

Google Play Music All Access: Google is getting into the membership music business, with an administration that looks like Spotify and Rdio. For $9.99 for every month —or $7.99 for every month provided that you mark up by June 3 —you get millions of streaming tracks on Android mechanisms and Web programs, plus craftsman based radio stations and personalized suggestions. No expression on applications for ios or different stages.

Maps for Mobile: The cell phone form of Google Maps gives drivers a hand with warnings when an activity influx pops up, in addition to an inferred new track. The guide perspective will indicate major wellsprings of congested driving conditions too. Google has likewise made another interface for tablets, with an "investigate" characteristic that gives you a chance to skim for close-by restaurants, shops, bars and different attractions.

A Big Update for Desktop Maps: The desktop form of Google Maps is getting a major redesign this Spring, with smoother design and a concentrate on finding. The point when clients hunt down certain things, for instance sushi, they'll see proposals dependent upon what they or their companions have audited. The interface will look a considerable measure slicker, with photographs, client audits, route choices and different parts popping up as you click on every area. You can join to see the new Maps through Google's site.

New Features for Google+: Google is truly trusting you'll offer increasingly on Google+, its two-year-old interpersonal organization. Another interface takes after Pinterest, with numerous segments of overhauls filling the page. For photographs, Google+ can pare down your get-away photographs via consequently selecting highlights, and it can bring about a noticeable improvement with skin softening, clamor lessening and other speedy altering apparatuses. Google is additionally starting a differentiate Hangouts application for Android and ios, letting clients talk, offer photographs and bounce into movie talk.

New Cards for Google Now: Google's virtual-aide administration can let you know about upcoming Tv indicates and film amusements and give ongoing open travel overhauls in select urban areas. You can likewise use voice orders to set memos on your telephone, and Google Now will prod you at the fitting time.

Voice Search on the Desktop: While utilizing Google seek within Chrome, you'll have the capacity to begin a voice inquiry by truism "O.k., Google." And much the same as the portable application, the desktop form will back conversational inquiries, so you can say something like "Where's the closest pizza put?" emulated by "How far is it from here?" Google says this characteristic will be accessible soon.

Assuming that there's a common pattern between all these enhancements, its that Google is attempting to make all its administrations stickier. In place of only turning something toward Google Maps, conceivably you'll hang out there investigating things briefly. In place of seeking once on Google and clicking a few connections, you'll have a here and there and then here again voice discussion. You'll invest more time playing diversions that are associated with Google and more time listening to music. Also perhaps you'll truly utilize Google+ for once. Doing all these things could make your existence less demanding and more agreeable —yet obviously they additionally permit Google to seek after its plan of action of studying more about you, and offering more ads.

Diminishing Android App Headaches

Google invested a huge lump of time discussing things that had almost no immediate effect on clients. Case in point, the association revealed a path for developers to offer beta tests of their applications, and to see how their applications look crosswise over numerous screen sizes. (Judging from the hooting and hollering in the room when this characteristic was declared, it appears long late.)

All the more essentially, the Google Play Store will at last have an area for tablet-upgraded applications. This change does influence clients, however it likewise gives developers a motivation to compose applications on account of tablets.

It's invigorating to see Google offer these sorts of apparatuses for developers, as a substitute for simply attaching new characteristics to Android and trusting the applications will take after. That system hasn't worked in the past, particularly for tablet applications. By uprooting a percentage of the cerebral pains in Android application development, Google might have better fortunes getting developers to back the stage.

miercuri, 15 mai 2013

Google Game Services - launched today

Unlike Apple's Game Center service, what Google's putting forth is a backend service for developers instead of a standalone app. Consider it more like Openfeint than Game Center – you can sign in utilizing your Google+ login as a part of amusement, and that login will track your character (counting leaderboard scores, accomplishments and saves) crosswise over different game session and gadgets. Achievements that increase engagement and promote different styles of play. - Social and public leaderboards that seamlessly use Google+ circles to track high scores across friends and across the world. - Cloud saves that provide a simple and streamlined storage API to store game saves and settings. Now players never have to replay Level 1 again. - Real-time multiplayer for easy addition of cooperative or competitive game play on Android devices.

Google is essentially manufacturing its own particular stage on the ios stage. It's a bright system for them. I'll be inquisitive to see how Apple reacts, or assuming that they even trouble. It may not be a "risk" in the routine sense since Google is gradually uprooting restraints for individuals between Android and Apple.

Obviously, the other way gets less demanding, as well. Also Google's procedure for contending with Facebook is coming to be more clear, as well. Utilizing their as of now existing stage they can give all the more fascinating and convenient associations with individuals that reach out far past photograph offering and notices.


So has anyone here found a centralized hub yet? I found out how to get logged into the few Google Play Games titles and even got a couple achievements, but I can't seem to find the hub where I can start seeing friends achievements and such.

vineri, 1 februarie 2013

Choosing a Java EE server (JBoss or Glassfish)


I have utilized WebLogic, WebSphere, JBoss, GlassFish, Resin, Jetty, Tomcat, and a couple alternates throughout the final 10+ years. Thus, assuming that I were thinking about another venture, I might pose myself a couple concerns first. One thing that I might not approach anymore is that I might even decline to utilize JSPs unless I was tortured until I weeped for my mother.

Do I need to be compatible/deploy to a particular item due to somebody's order? Is there no course to overlook them or influence them elsewise? If this is true, there's your reply.

Do I need to utilize EJBs? Truly? Dodge them if to any detectable degree conceivable--they are actually just required for extremely imposing, venture-class frameworks. Recollect that they are just devices, and colossal ones at that (can anybody state "Golden Sledgehammer"?). They are amply abused, so actually, truly address if you require them. Assuming that you do need them, then that uproots a few of your choices incorporating my best, Jetty.

Do you need to utilize any of the other major J2EE advances like JMS, ESB, and whatnot? If this is true, and you actually would not be able to forego, then you are again compelled to a full-blown J2EE holder. Deliberately think and explore before you dedicate to BPM, for instance, and dodge AquaLogic BPM at (well-nigh) all expenses--it is ugly in the compelling.

In the event that you actually should use a full-blown J2EE holder, recognize open-origin first since it is more vigorous, preferable upheld, and more financially savvy. They have greater client bases and more open backing collaboration, so they will almost always get preferable fixes quicker. Nonetheless, Resin is adolescent and I might keep away from it in respect to GlassFish or JBoss--I recognized it tricky to send and underpin. I might incline toward JBoss on account of its more extensive client base, development, and so on. GlassFish is harder to fuse into a computerized build/deployment process, however it may be nicer for some of its particular headlines (depending on if you require them).

Do I have an uncommon explanation for why to need Apache? At that point lean towards Tomcat, possibly in addition to something.

Would I be able to make do with just servlets? At that point I might utilize Jetty--it is the lightest, snappiest, least demanding, by and large adaptable fix. Provided that I am inclining opposite having the ability to utilize Jetty, I might query all my presumptions of why. YAGNI applies.

Best is to utilize StringTemplate/WebStringTemplate on Jetty: a clean, vigorous, snappy, maintainable explanation with no authorizing expenses, strong notoriety and underpin, and so on. That is where I begin these days.

Most applications/systems decide on heaps of special J2EE headlines when all they truly need is servlets and JDBC with some OK architecture/design. Question why you suppose you require more.

Of the full-blown holders, I might maintain a strategic distance from WebLogic and WebSphere unless you are supporting a MAJOR open web space (my present executive's resource is sent on WebLogic and it gets eleven+ million hits for each month, alternates have been tantamount). WebLogic's true fuel for keeping such a notorious reputation is their moderately straightforward grouping, yet evade their exclusive outlet-secure offers at (very nearly) all cost. WebSphere is basically a bad dream that I might evade truly whatsoever expense--I decline to do ventures including WebSphere following having done a couple in the past. Not, one or the other item is worth the enormous authorizing expenses, unless you without a doubt have an extraordinary need that drives the utilization of an exclusive quality. In a decade as a senior architect/engineer for loads of Fortune 500 associations, I have yet to see quite a necessity. Additionally, I have perceived LOTS of agony because of picking such exclusive items.

All the more for the actually expansive, towering activity, accessible sites, the restrictive features are still debatable. I might rather use that multi-million dollars for each year of authorizing expenses on some great equipment and some value time from a handful of actually great experts to address a straightforward adaptability explanation.

miercuri, 30 ianuarie 2013

J2EE Exception Handling

As J2EE has ended up being the preferred development platform, an increasing amount J2EE-based requisitions are going into processing. One critical segment of the J2EE stage is the Enterprise JavaBeans (EJB) API. As one, J2EE and EJB engineering deal numerous points of interest, yet with the proposed preferences come new challenges. Specifically, any situation in an enterprise environment must be fixed instantly.


These are part of the most best practices of exception handling in general:

Depending on if you cannot handle a special case, don't get it.

Depending on if you get a special case, don't swallow it.

Get a special case as close as would be prudent to its origin.

Log a special case where you get it, unless you arrangement to re-throw it.

Structure your routines consistent with how fine-grained your exemption taking care of must be.

Utilize the same number sorted exemptions as you need, absolutely for provision exemptions.

Focus 1 is clearly in clash with Point 3. The functional fix is an exchange-off between how near the origin you get an exemption and how far you give it a chance to fall before you've comprehensively lost the plan or substance of the first ever special case.

Note: These standards are not specific to EJB special case taking care of, admitting that they are connected all through the EJB exemption-taking care of components

luni, 31 decembrie 2012

Important Android 4+ (post ICS) Tools

Android is a platform that for better or for worse runs on wide variety of devices and causes a lot of “fragmentation” complaints by less experienced developers. And while the screen/resolution issues can be decently solved by having a competent designer (see: web development), version fragmentation poses a more significant problem – only 6,7% of all Android devices run 4.1.x versions, while the rest are suck on older Androids with little hope for update.




Android version distribution

Ice Cream sandwich (and Honeycomb before it) brought significant improvements to the Android API, which significantly ease cross-device development and thanks to efforts of several developers a large part of those changes were backported in form of libraries for Android 2.x.

Below you can find a list with some of the most useful such libraries which are also used in some of our apps.

Android Support Package

This is official Google library which backports Fragments and Loaders.
Fragments add a way to manage only part of displayed activity life-cycle and are critical part of tablet user interfaces – especially if you want to develop apps which work on phones and tablets without publishing separate APKs.
Loaders are a high-level interface for retrieving data from slow sources (network or database). Android runtime caches the loaders by their ID across Activity life-cycle, which means easy management and caching of remote data without writing boiler-plate AsyncTask code to keep state across orientation changes.


Action Bar Sherlock

ABS is a library by Jake Wharton that backports the Action bar API to Android 2.x.

Action bar is a new Android paradigm, which is composed of a top bar with application name and implements tab navigation, menu replacement and “up” navigation. Pretty much any Android app has an action bar (or at least should have) and this API is the easiest way to implement it. It also handles tab navigation with optional split mode (you should not use TabHost anymore) and menu buttons on devices without physical keys (e.g. Galaxy Nexus) and moves icons to menu when screen space runs out.

Pull-to-Refresh

Pull-to-Refresh allows you to implement the iOS-ish paradigm of pulling a ListView to refresh content.



NOTE: Pull-to-refresh is a distinctly non-Android way of refreshing content, I suggest adding a separate “Refresh” option to the menu (e.g. like Boid Twitter client) to avoid user confusion.

ViewPagerIndicator

Android Support Library also adds support for horizontally scrolling ViewPager, which allows you to put several fragments side by side and allow user to swipe between them. However, the API is missing a position indicator similar to the one in Google+ and Play Market apps. Such customizable indicator is provided by ViewPagerIndicator library.
View pager indicator tabs

vineri, 28 decembrie 2012

Stay away from push ads!

Are you using Airpush? If you are, how's your CPM been doing? Ever since you started?

And if you are not, and you are planning to use it, what is attracting you to it?


Big Bang
Airpush came onto the scene pretty big. Offering a unique (at that time) mobileadvertising implementation, and a super high CPM. That was great really, when you started. It is not great anymore.


Angry Bird
What really pissed me off was, in the email, it was written that we could achieve a CPM of $6 - $15! Are you  kidding me? I have hardly even gotten 50% of the lower end during the better days! These days it is at around $1.5 - $1.6 range. I am making even more from my banner ads than I am from Airpush!


There is something totally wrong with Airpush. They hook new developers with very good CPM when they start, slowly dwindling down. I have Leadbolt notification ads in my apps too, but Leadbolt's revenue has been growing continuously.


Questions
So many questions need answering:

1 - My installs are growing every day, yet my pushes from Airpush is stuck around a set  range. Why?
2 - Why does my revenue for each day fluctuate throughout the day? I would see, for example, $19 one moment. Re-check a little later, and it is down at $18?? Did some pushes get un-sent? Returned to sender?
3 - Why is my CPM going lower by the day? Yet Airpush can send a mail out to attract me with $6- $15?
4 - The "Live Chat" on the dashboard has been stuck at "Offline" since ever!
5 - Today's average CPM has been stuck there since forever.
6 - Airpush is known to send out ads that auto download apps into user's phone. Not cool really.

I've checked with some other developers, and they too are having similar results. They get so excited when they start off with Airpush, but over time, it converts to Airbull.


Push yourself away
So, if you're a developer and are planning to use notification or icon ads, I strongly urge you to look elsewhere. Give Leadbolt a try. There are other options too out there, like appenda or startapp, though I have not tried them.

It would be really good for Airpush to start playing fair with their developers, we are, after all, helping them with their business, risking our apps to get 1 starratings because of the push ads. We will pack and leave if we have no reason to stay on!

Conclusion
Even though you might get some extra revenue using push Ads we highly recommend that you do not make use of such obtrusive ad formats which will only make your user base angry without seeing a real increase in the monthly revenue.

Installs and Ratings improvements


Ratings

When it comes to two equal apps, the app with a better rating will receive a better ranking. When your app does not have any ratings yet, it will internally get a composite score representing the quality of the apps you published before. This means: Ratings are important. But how to get lots of positive ratings? Well, there are several methods, one of them is to buy them via certain dubious websites (I ‘ve never tried that), another way is to simply ask your users for ratings. This step is actually pretty simple but it can and most likely will improve your ratings a lot, provided that you are making it right:
  1. Ask your users using an AlertDialog. While a beautiful little button in your main menu may be nice, users have the tendency to ignore things that want something from them (like they do with banner ads) and keep them from doing what they actually want to do (explore your app). This is why a one- or n-time alert dialog will catch much more attention than a button that is just always there. Personally I prefer the one-time to the n-time version.
  2. Don’t ask them the first time they use your app. That’s pretty obvious. How should a user know how to rate your app when he didn’t even use it? Instead, wait until he used it five or six times or played through the third level or so. When a user uses an app a couple of times, this is a good indicator that he actually will give you a better ranking.
  3. Give them a chance to opt out. You shouldn’t force your users to rate your product but give them a chance to say ‘later’ or ‘don’t ask me again’. When a user decides not to rate a product but gets annoyed by repeated dialogs, there will come a time when he ranks it with very little stars.

Installs

Installs are important. They are important for you, because many users equals many dollars. But they also are important for the Android Market Search Algorithm. To be more precise: The ratio of active installs to total installs, respectively the refund rate. This will have special weight when your app is published the first time and there are not enough comments to give your app a ranking and no other apps to give your app a composite score.
Since gaining installs and keeping active installs is very important, it’s important to have a well designed and tested app. Boosting user numbers by force can be a very expensive task, that’s why it’s even more important not to lose existing users. To increase the number of downloads of an app, the well known classic methods like writing blogs, creating viral content, paying for ad space or ASO can be applied.

The the Google Play Store Search Algorithm

The search algorithm of Google’s website is known to be a black box of which nobody except Google knows how it works exactly. Guess what: With the Play Store search algorithm, it’s exactly the same. Still, by try and error and a lot of observation, patterns can be recognized. Here’s what the Play Store search algorithm roughly looks like:
temporary relevance * t + keyword frequency  in the title * u + keyword frequency in the description * v + ratings * w + composite score * x + active installs in per cent * y + black magic * z
Temporary relevance here means the acceptance of the users over a small time period, or in other words the download rates in the last days and weeks. As you can see there is a little ‘black magic’ involved, this is a synonym for uncertain influences like the +1-button, the percentage of solved known bugs with every new update, the relevance of keywords used in the recent changes-description and all the other small and uncertain things.
After various observations, the following rough order can be assumed:
w >= t >= y > u > v > x
z, representing the weight of various factors, is ignored.
Now, when optimizing your app for the Play Store, you can try to improve your app’s environment based on this order, meaning for example: “Let’s put our main effort into a solid UX, a non-annoying dialog with a high conversion rate asking users to rate us high and a good description.”

Conclusion

You maybe noticed that the Play Store search algorithm changed a lot in the last 18 months. ASO is very dynamic. New changes need to be observed and classified as soon as possible, so it always stays exciting.