We are reviewed on Clutch!

Squash Apps Receives 5-star Ratings for Development Services!

We are proud to announce our partnership with Clutch, the leading B2B ratings, reviews and research platform. Clutch lists over 7,000 IT companies all around the world in over 500 industries. The ratings platform helps potential buyers find in-depth testimonials in order to find the best fit software developers, UI/UX designers, and web developers for their next projects.

We’re extremely happy to announce the amazing feedback that has been received by some of our most esteemed clients. With 4 reviews, Squash Apps has a close to perfect score. Our clients have been saying the most delightful things about our services on Clutch, commending Squash Apps for our outstanding communication skills, our flexibility and our superior technology skills.

Their team is extremely proactive in finding alternatives or solutions to obstacles….Squash Apps understood our direction and asked for clarification when needed”– CEO, StayLocal.co

They come highly recommended.” – Partner, 707 Ventures

I don’t know how many projects they have going on, but they give me the feeling as if my project is the only project they’re working on.” – CEO, Shelly Apps

Based on the feedback received, Squash Apps is listed amongst the top software development companies in India on Clutch’s sister site, The Manifest. Our team prides themselves on building the cleanest code possible while completely avoiding any and all shortcuts to ensure that our clients get the highest quality of work. Our top priority is keeping our clients happy with low costs and high quality service.

We like to develop a relationship with our clients so that we can help them maximize the potential in every project. When we work with our clients, communication is the most important tool. We place a strong emphasis on consistent and clear communication so that there is never any confusion at any time. I think you’ll see that commitment if you check out our extensive profile on Clutch.

If you’d like to learn more about our highly rated services, make sure to check out our website and contact us for any inquiries.

Mobile App Patenting

 

23435005_1543530655758030_8880005081137232381_n

Mobile Apps are the ‘In’ thing and have been for young developers. College kids, and even some school kids these days are trying their hand at developing mobile apps, and they’re doing a great job too! Another reason for this flurry of mobile applications is because they are so great for business! So, if you are someone who’s got an idea for a Mobile App, then make it your own by patenting it! It is a lengthy process, but it is worth it! So, let’s go through the steps quick!

So, the first question is, can you just patent an idea? Well, not really. You must know the ins and out of your App, how everything works. So much so that you should be able to educate anyone about it. Also, know that you cannot patent the code of your app. The code itself falls under the category of law covered by copyrights. (And that is a whole other article there, we tell you!)

What you can patent your App under the categories of “method” or “process.” Methods and processes can be patented, along with machines, articles of manufacture, and compositions of matter.

So, first things first. You need to research on whether your App is eligible for patenting. There are a so many apps available, hundreds of thousands!

Just because apps can, in general, be patented, this doesn’t necessarily mean that your app is eligible for the patent. So, basically, you need to determine whether you somebody else has patented the same type of app. The USPTO (US Patent & Trademark Office) recommends performing a patent search before attempting to file a patent. Be sure to search for any related keywords, especially ones that would-be core to what makes the app work. Note that this does not ensure safety against being sued for patent infringement. The USPTO does not ensure that. So, plenty of research is necessary!

And finally, your patent must qualify as “useful, and by useful, we mean, it should work at least in theory. It is what requires you to develop a very concrete and detailed explanation of precisely how your app works, rather than just claiming ownership over an app that accomplishes some general task without needing to know how.

So, this is the basic idea you should have before you even begin the process of filing for a Patent. So, we’ll cover that part in another article, while your mind stews on this! Good Day Mobile people!

 

Tech Wars – Apple vs Qualcomm

23472303_1543529659091463_8009714013245635611_nWhat happens when tow giants decide to sue and countersue each other? Well, they generate a lot of news, and lose a lot of money, and give stuff to talk about for everyone! The two giants in question here are none other than Qualcomm and Apple. Yes, we’re excited too, and yes, it’s going to go on for years! So, let’s get the ground work done, and we’ll let you know what’s happened till date!

We all know Qualcomm’s processors, or better yet, their modems are key for any LTE-connected device in today’s world. Also, it is known that Qualcomm’s modems are the only ones on the market capable of supporting data transfers up to gigabit speed. Additionally, along with the high quality of the radios, Qualcomm is also the only company that licenses the CDMA technology that Sprint and Verizon use for their 2G and 3G networks.

So where did it all begin?  Well, earlier this year, Apple and Qualcomm began a legal battle over Fair, Reasonable and Non-Discriminatory (FRAND) patents that stated Qualcomm was charging unreasonable sums for patents essential to cellular technology. Qualcomm followed that up with a claim to the U.S. International Trade Commission (ITC) stating Apple infringed on six of Qualcomm’s patents. Whew! And that’s not all.

According to Qualcomm, Apple has stolen patents and, so they filed paperwork to ban both the sale and the manufacturing of the popular smartphone in China. A spokeswoman from Qualcomm was heard saying “Apple employs technologies invented by Qualcomm without paying for them,” noting that the iPhone’s power management and Force Touch features are just “a few examples of the many Qualcomm technologies that Apple uses to improve its devices and increase its profits.”

Apple had another spokesman saying, “In our many years of ongoing negotiations with Qualcomm, these patents have never been discussed. Like their other courtroom manoeuvres, we believe this latest legal effort will fail.”

Yes, it has been a war of words, and it will continue to be. Now, lets talk numbers and locations. In the United States, Apple is suing Qualcomm for a whopping $1 billion, and that’s not all. It has also filed a lawsuit in China and the United Kingdom for $145 million each!

So, what does Qualcomm want?  Well, it was iPhone’s – sales and manufacturing in China to be banned and is also seeking to ban certain iPhone models from sale in the US. Even though the models are not shared yes, it is a huge ask!

In another statement, “Qualcomm’s inventions are at the heart of every iPhone and extend well beyond modem technologies or cellular standards,” general counsel Don Rosenberg said, and continued with “Apple continues to use Qualcomm’s technology while refusing to pay for it.”

To counter this argument, Apple said that there was whole lot of evidence to prove that Qualcomm operated an “illegal business model,” and that it sought to extract patent royalties on every wireless device containing its chips.

So, this is the base, the foundation, but what’s happening now?  Well, Apple has won two rulings. The judge has ruled that Qualcomm cannot collect intellectual property (IP) royalty payments on Apple’s manufacturing partners until the total royalty’s amount is determined, if that happens at all. Qualcomm will now have to calculate and argue just how much royalty money will need to be recouped from Apple and its partners. Not only that, Qualcomm will now have to prove just how exactly Apple are infringing their patents! So, it’s Apple -2 and Qualcomm – 0. We’ll have to wait for more that’s bound to happen in this case!

**Source Internet**

Debounce And Throttle in Javascript

The greatest concern faced by UI developers is the performance issues in situations where functions are being executed excessively and in some cases unnecessarily


There are two ways in order to control the execution of functions using Debounce and Throttle, which come in handy when on handling events such as mouse scroll or window resizing.

A simple explanation of debounce and throttle is that the number of times a function is executed over a period of time is throttle and the time passed between each execution of a function is implemented as debounce.

 

Real Time Example:

Debounce: The perfect example for debounce would be resizing of the window in a desktop. Imagine we are to get the value of the screen size, but it would be useless to execute the function as the user drags on the size of the screen but we would be interested only in the final value of the screen size after it has been resized, as explained in the link(https://css-tricks.com/debouncing-throttling-explained-examples/)

debounce

Throttle: An example of throttle can be explained through the infinite scroll, where we have to determine the scroll position and load data before the user reaches the bottom. In this case, it wouldn’t be advisable to use debounce, as it would allow us to call the function only after the user stops scrolling. But throttle would ensure that we constantly check how far is the user from the bottom and act accordingly.

throttle

The major advantage of throttle over debounce is that we have the option to store ignored executions and execute them at last after all the function calls are made

Implementation:

A code sample for implementation of debounce

//original code from  Jhey Tompkins blog

//https://medium.com/@_jh3y/throttling-and-debouncing-in-javascript-b01cad5c8edf

var debounce = function(func, delay) {

var inDebounce = undefined;

return function() {

  var context = this,

    args = arguments;

  clearTimeout(inDebounce);

  return inDebounce = setTimeout(function() {

    return func.apply(context, args);

  }, delay);

}

}

 

The above function could be linked to a click event as follows:

 

debounceBtn.addEventListener(‘click’, debounce(function() {

return console.log(‘Hey! It is’, new Date().toUTCString());

}, 3000));

 

In the above code, when the button click event is called the function gets executed with the delay of 3 seconds, but if another click event is triggered before the execution of first click, then it is replaced by the second event.

 

Similarly, a code implementation for throttle would be

 

//original code from comment of maninak

//https://gist.github.com/makenova/7885923

function throttle(func, msWait) {

var time = Date.now();

return function() {

if ((time + (msWait || 100) – Date.now()) < 0) {

func();

time = Date.now();

}

}

}

Can be used as:

window.addEventListener(‘scroll’, throttle(myOnScrollFunction), false);

The above code ignores execution of the function for the events that are being called within 100ms of execution of the previous function call.

Conclusion:

Debounce and Throttle are techniques used to optimize the event handling.Both throttling and debouncing will rate-limit execution of a function.

In Summary:
Debounce will bunch a series of sequential calls to a function into a single call to that function. It ensures that one notification is made for an event that fires multiple times.

Throttle will delay executing a function. It will reduce the notifications of an event that fires multiple times.

References:
1.https://css-tricks.com/debouncing-throttling-explained-examples/
2.https://medium.com/@_jh3y/throttling-and-debouncing-in-javascript-b01cad5c8edf
3.https://gist.github.com/makenova/7885923

4.https://stackoverflow.com/questions/25991367/difference-between-throttling-and-debouncing-a-function

5.http://reactivex.io/documentation/operators/debounce.html#collapseRxNET

6.http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-throttleTime

 

Android 8- Oreo!

milk-2006449_960_720

Oreo – Not just for your Taste buds anymore!

There has been a lot of hoopla for iOS 11 and the launch of iPhone 8 and iPhone X, and amidst all that, it almost feels like Oreo has drowned in a glass of milk! (Pun Intended). Well, we shall revive that for you in this article specifically for Android 8 – Oreo!

Android phones are the ones commonly used by most people around the world, and almost all the phones in the market. This has given a boost to App developers from all over to create innovative android Apps, and release them to the market.

“Powers, and Beyond” is how they are pitching the new version, and with the looks of it, it does seem pretty cool! With great features for users and developers alike, lets now have a quick look at some of our favourite additions that are a part of this yummy new release – Oreo!

Oreo is going to make your device twice as fast as it was. How? Well, they have increased the boot speed, making it 2 times faster, so as soon as you have powered up your mobile, you really don’t have to twiddle your thumbs.

Another issue most of us face is that of background processes that not only eat our internet, but also our battery. Well, worry not – Oreo is going to help minimize background activity of the Apps you don’t even use! Stealth Power, we say!

Notification Dots – something that iPhone users will be familiar with is now on Android. You will get a small notification on top of any App that will have one for you. It could be a new e-mail or a message on WhatsApp.

Another exciting new feature is that Google is now going to help you control the notification setup for each App individually. You can Snooze notifications for any App individually, instead of placing your mobile on silent!

Finally, we have super helpful Autofill API’s, while it has always been there due to third party Apps, it’s now been made easier by adding platform support to it.

We then have Adaptive Icons for Developers, this is enable cool and funky icons for all Apps they develop.

And at last, the most fun feature of all – an Addition of over 60 new Emojis! Yay!

So, while there were a few more additions, these are some of our picks. Let us know your favourite updates in the new release!

iOS 11 is here!

iOS 11 is here!

iOS 11 is here, and in its wake, its left a lot of cheers and excitement! While it was released yesterday for previous versions of the iPhone, the newbies iPhone 8 and iPhone X were out commercially on September 22 and November 3 worldwide (there’s still some speculation on the Worldwide part), and we couldn’t help but talk about a few features that we really liked!

If you are an iPhone user, then we’re sure you would have looked up this data already, but we’re sharing it nonetheless. iOS 11 will be available on the trio of new iPhones and be compatible with the following models of iPhone, iPad and iPod. The iPhone’s it supports are: 5s, 6, 6 Plus, 6s, 6s Plus, SE, 7, 7 Plus, 8, 8 Plus, X. It is also changing the way iPads are used, they are compatible with 5th generation (2017); Mini 2, 3 and 4; all Air models and all Pro Models. For the iPod Touch, it is available for the 6th generation (2015). If you own an iPhone 5 and iPhone 5c you will not be able to get iOS 11. And unfortunately, Apple is also dropping support for the 2012 iPad 4.

As you can see, it was pretty gracious of Apple to support most of its iPhone models, and iPads. So, even if you don’t want to spend all that money buying the expensive iPhone 8 and X, you can still experience the goodies they are providing with iOS 11.

So, in this article, we wanted to graze upon some of the new fun aspects that are a part of this release, and so, we will be talking about the Face ID and the Animoji in an upcoming article. For now, let us begin by talking about the awesome all new Command Centre amongst others.

The previous command centre was not worth all its trouble, or annoyance mainly because of the few options it provided. Well, with this one, it does not take up half the screen, but the entire screen and has a lot more options. You get the music control centre on the same screen, and to magnify any option, all you have to do is a long press and voila! Another great addition was the idea of making the options visible on this screen editable. So, you get to decide the options you want displayed on the Command Centre.

Screen Record! Move out of the way Screenshots, we have the all new standout Scree Record on iOS 11. When you want to share something and an image just won’t do, just send across a screen record and get the job done. This is one feature that we feel will be included on upcoming Android releases.

Finally, we wrap up this article by talking about the ‘Do Not Disturb While Driving’ function. This is one has both an upside and a downside. That is probably because of the way it gets activated. When your device detects a constant speed in which it is travelling in, this setting is automatically turned on, making your phone go to Silent mode automatically. If you are driving, well and good, you will not get distracted, but if you are a passenger, well there are a lot of chances for you to miss your calls!

These are a few options we found exciting for our day to day lives, there are so many more. If you find some other feature to be fun and exciting, let us know too!

Remembering the iOS 11 Launch

Remembering the iOS 11 LaunchApple launched its two new iPhones more than a few weeks ago, but they are still the talk of the town, more so because they’ve still caught everyone’s fascination. Be it the price, the look, or the new features, people simply cannot stop talking about it!

They’ve worked pretty hard at modernising these two entries, making them bigger and better, so much so that when one looks back at the first iPhone, or say even your iPhone 5, you are amazed by how far it has come. From wireless charging, to cash transactions simply done, these phones are pretty amazing!

So, for those of you who missed the launch, or just want to get back to seeing what exactly was done, or introduced, here is a quick insight.

The biggest introduction was probably the Face ID, which led to memes and appreciation alike! While it is available only for iPhone X, it is beautifully connected to Apple Pay as well, which is an amazing concept on its own.

The devices come in 2 colours, the quintessential Grey and the fancy Silver and of course, the gorgeous Gold! Another new addition is the use of the Charging Mat. While the technology is not new, as it was already thought of by the Genius Tesla, it was great of Apple to bring this tech back in a big way, because versions of this was already in the market. The mat charges the Apple Watch, iPhone and the AirPods – AirPower indeed! The iPhone 8 is said to have the highest quality video capture ever in a smartphone, with a brand-new chip called the A11 Bionic.

Now that we’re done with the iPhone, let’s get onto the next big fish of the Launch, the Apple Watch. This series uses an eSIM, instead of a normal SIM card and jut for the sake of fun, the Apple Watch gets new colour bands and watch face styles. The other new features or additions include a phone answering feature, WeChat support, a new processor, and Siri alert! Well, that is kinda awesome for a watch! It’s already gone on sale on the 22nd of September in 26 countries with the date for India not yet fixed.

Then came the introduction of Apple TV 4K, and it is touted to create a revolution in the world of TV’s!

Xamarin – An Introduction

 

Xamarin - An IntroductionThis Cross-Platform development tool is slowly capturing everyone’s attention and rightly so. Made for cross platform/ hybrid developers, Xamarin solves the issue of separate coding languages and UI paradigms to a great extent. With a common programming language like C# for developing apps for iOS, Android and Windows, this technology comes with its own set of elements that make the job easier for developers. In addition to all of this, Xamarin forms takes care of interface design for all three platforms. Let’s have a slightly deeper look into Xamarin’s main parts.

The main element of Xamarin is the coding language it endorses, C#.  This is an obvious advantage. Using a code base in one language improves code efficiency as well as improves dev time. Another major advantage is using familiar syntax and sophisticated features like Generics, LINQ and the Parallel Task Library.

Next in line is the Mono .NET framework. For those of you who are not sure what a Mono platform is, here is the textbook definition – Mono is a software platform designed to allow developers to easily create cross platform applications part of the .NET Foundation. Sponsored by Microsoft, Mono is an open source implementation of Microsoft’s .NET Framework based on the ECMA standards for C# and the Common Language Runtime.

Then comes the important element – The Compiler. This works differently for different platforms. As far as iOS and Android goes, the unused classes are stripped off during linking to reduce the App size. So, apart from that part, here is how it works differently. For iOS, C# is ahead-of-time (AOT) compiled to ARM assembly language. But there are limitations for iOS, as Apple does not allow runtime code generation on iOS.

For Android, C# is compiled to Intermediate Language and packaged with a combination of Mono VM and JIT. The application runs side-by-side with Java/ART (Android runtime) and interacts with the native types through JNI.

Alternatively, it becomes easier for Windows Apps to be used for iOS and Android platforms if Xamarin’s guidance is followed. For Windows, C# is compiled to IL and executed by the built-in runtime, and does not require Xamarin tools.

Xamarin is a wide field, with various nitty gritties that will help enhance cross platform development. While this article just touches upon the tip of the iceberg, we will delve more into Xamarin in the future.

 

Swift and Objective C

Swift and Objective CSwift has swiftly taken over our lives (Pun intended!). The fact that one does not have to go through the ordeal that is Objective C has got many people rejoicing. So much so, that according to a Stack Overflow survey, “77.6% developers around the globe preferred Swift over Objective C for iOS app development”.

With the introduction of OS X, Apple gave us a lot of new additions, with an all new Swift, the latter aiming to make developers lives easier. With the praise and love Swift is getting from so many quarters, one cannot help but wonder how it can almost overthrow Objective C which has been around since 1983! Well, we are going to talk about the positives of Swift, and some of the ways in which it is touted to be better/easier than Objective C.

Similar to newbies and industry bigshots like C#, C++, Java, Javascript and Python, Swift is very easy to read, and learn as it is similar to the English language, without any of the bulky syntax. It is easier to code as it employs string interpolation without needing any placeholder or token.

A major overhead while developing using Objective C was maintaining two files – one for interface and one for implementation. Though they are practically the same code, the developer is forced to make changes in both files. This is not the case with Swift, as there’s just one file, so easier to start and finish!

Next comes the issue of Pointers. While many C languages inclusive of objective C use Pointers, they are a security overhead, and also troublesome when one is trying to find bugs in the code. But Swift does not allow nil value, so when your code reaches a nil value, it automatically crashes, making it easy for the developer to locate bugs, giving a very clean code.

Finally, there is the case of easier compilation and memory management. Swift is built with the Low Level Virtual Machine (LLVM), a compiler that’s used by languages like Scala, Ruby, Python, C# and Go. The LLVM is faster and smarter than previous C compilers, so more workload is transferred from the programmer to Xcode and the compiler. When  it comes to Memory Management, Swift supports ARC across all APIs, and this stability means less time programmers have to spend focusing on memory management, as “memory leaks” will become obsolete.

Performance: Hybrid Apps Vs Native Apps

code-2620118_640

“While 79 percent of consumers would retry a mobile app only once or twice if it failed to work the first time, only 16 percent would give it more than two attempts. Poor mobile app experience is likely to discourage users from using an app again.” – Source

This is obviously true, mainly because it is something that we do too. With options available for so many On Demand services in the Mobile App world, customer satisfaction is everything. A customer wants things done in a jiffy, plus it has to be convenient too, and if your App is not giving them that, they move onto another App for a same/similar service.

As you know, an App can be Native and Cross-Platform (Hybrid), and while there are main fundamental differences between both, we will here, in this article discuss about the Performance of both Apps.

We have met businessmen and App developers who bat for both teams, we will lay out their reasons, and find out why they are happy with their Native or Hybrid Apps, performance wise.

As you may know, a Native App is one that is designed specifically for one type of Operating System – iOS, Android (We shall consider the majorly used Mobile OS for argument sake). While iOS uses Objective C and C as its programming language, Android uses Java.

With no grey areas, Native Apps are strictly for one type of phone(s), thereby making people hoping to cover one market release specific to their phones. Now, this is understandable, but when the common App players come into the frame, they have reasons to choose Native Apps too, and the main obvious reason they tell is Performance.

Agreed, an App is dependent on various features, be it Setting the location On, or opening the Camera or saving an image. When done on a Native App, these things are seamlessly done because the code does not have to go look for any requests anywhere. Everything is set up as soon as the App is installed. This seamless behaviour plus the beautiful co-ordination this App has with the rest of the Apps in the mobile phone result in an extremely satisfying user experience, which has always been the goal.

On the flipside, Hybrid App enthusiasts believe that these issues are things of the past. With newer, better and more advanced smartphones coming up in the market, the Hybrid App developers are breathing a sigh of relief. The new age mobile devices come with processors and accompanying hardware that are sometimes even better than Computers. So, they believe that the mere processing speed that the device will deliver will take care of any performance lapse a Hybrid App might give. They say that with clean, and efficient code, there might be no difference between both!

All of us have our opinions, and we know you might have one too! While arguments are a waste of time, we love discussions! So, please feel free to drop in a comment on what you feel, and let’s get started!