Archive for the ‘Perspective’ Category

OnePlus 3T vs OnePlus 5: Only incremental goodness

The fact that the OnePlus 3T is an impressive handset needs no reiteration. So, instead of focusing on the already-celebrated merits of the 3T, I wrote an Amazon review mainly addressing the question that has been bothering OnePlus 3T users of late: whether an upgrade to the “5” is justifiable.

I bought the OnePlus 3T a month ago, knowing fully well that the launch of the OnePlus 5 was just around the corner. Even then, ever since OnePlus released the “5”, I have been tempted to upgrade. Still, nothing short of a shut-up-and-take-my-money value proposition could have convinced me to shell out ₹38K more of my hard-earned money on this shiny new toy.

While the OnePlus 5 specs are undeniably unmatched, a couple of visits to the OnePlus Experience Zone in Noida convinced me that the overall package is only an incremental improvement over the 3T. In many cases, the difference isn’t discernible even on close scrutiny. On the looks front, the OnePlus 5 seems to have taken a step back with only two drab colors available.

While the jury is still out, I did observe the rear dual-camera on the 5 click some excellent portraits with nicely-defined bokeh. However, OnePlus’ algorithm seems to fail to recognize more than one human subject, bringing only the closest one into focus. There is no front dual-camera anyway, so selfies, which is how most portrait photos happen these days, won’t have the depth effect. In fact, I compared the front cameras of the 5 and the 3T side-by-side and could observe no appreciable difference.

The shape and color of the 5 was the real deal-breaker for me. Depending on the version of the 5 that you choose—6 GB/64 GB or 8 GB/128 GB—you have only one of the two colors available. The two “grayish” colors, on their own, are not sufficiently differentiated.

I have no direct data about the battery life of the 5 available, but the 3T works like a charm on that front too. Even upon very active use—9 to 12 hours of screen uptime—the 3T’s battery lasts me more than a full day (24 hours). Efficient in every sense of the word!

Upon great deliberation, then, I have decided to stick to the 3T and give the 5 a miss, at least for now. Maybe, I’ll wait and watch if the 5T is in the works. Alternatively, if the 5 becomes available in some tempting colors (think red!), I might just reconsider my stand. Even then, the lack of an impressive value proposition for upgrade may just tilt the scales to the detriment of the 5 once again.

MY VERDICT: NO. There are no pressing reasons for OnePlus 3T users to upgrade to the OnePlus 5.

Choosing between REST and SOAP interfaces

The REST vs SOAP debate has raged for long on the web and elsewhere. This post—largely an attempt to demystify the jargon—adds my inconsequential perspective to the conversation.

REST (REpresentational State Transfer) and Simple Object Access Protocol (SOAP) are two predominant approaches to building web services today. As a developer, when you consume web services in your application, you can use these interfaces to work with data or perform other operations.

While SOAP has been around longer on the web, RESTful interfaces are fast becoming popular due to their use of standard web semantics (HTTP); intuitive verbs like GET, PUT, POST, and DELETE; and uniform resource identifiers (URIs) to perform data operations. RESTful web services can, typically, return data in many formats—JSON, HTML, XML, CSV, etc— further simplifying common data operations.

SOAP, on the other hand, differs from REST in having built-in error handling and support for advanced enterprise security features. Besides data, SOAP web services often expose a portion of business logic that you can consume in your application. SOAP uses XML as the messaging format for all communication, sometimes leading to verbose messages and the requirement for additional data processing.

Typical applications

Smaller data payloads and support for standard web semantics have contributed to the popularity of RESTful interfaces on the social web for browser-based apps, mobile apps, and apps delivering high interactivity.

RESTful interfaces, however, do not have built-in error handling in their standard implementation, requiring clients to retry a connection in the event of a communication failure. Applications requiring more reliable messaging—for example, eCommerce and banking apps—find value in the robust connection/retry logic built into most SOAP interfaces. Also, the availability of established extension protocols, such as WS-Security, make SOAP interfaces inherently suitable for applications requiring enterprise-grade security.

Other considerations

Consider these additional factors while deciding whether RESTful or SOAP interfaces are appropriate for your application:

  • Caching. RESTful interfaces support easier caching through HTTP caching mechanisms.
  • Compatibility. If you’re leveraging existing SOAP-based middleware services for your application, you’d likely want to stick to using SOAP interfaces.
  • Bandwidth and resources. RESTful interfaces are, generally, more resource-efficient than SOAP interfaces.
  • Development environment. Some developer tools and services; Microsoft technologies, in particular; automate several aspects of building and consuming SOAP web services.

Examples: RESTful and SOAP requests

The following sample RESTful request gets the profile of a Google+ user with the ID, userId:

GET https://www.googleapis.com/plus/v1/people/userId

The Google Developers page, SOAP Primer, lists several examples of SOAP requests, complete with their XML envelopes.

Further reading: