I’m so excited to talk about the brand new native experience we delivered to our LandmarkShops customers in India. And even so because it sports Google’s latest visual language — Material Design! Read on at our official Medium blog.
We’re thrilled to tell you that we’ve just launched a shiny new app for LandmarkShops India, using Google’s latest visual language - Material Design and I’d love to tell you more about it! Game of phones Earlier this month, IDC confirmed that Android’s dominance of the global smartphone market is expected to grow further, from 81% to 84% in 2016.
As part of the Landmark Group’s Web Team and my Product Management portfolio includes leading digital engagement channels for Shukran – web, mobile, in-store engagement – and mobile apps for LandmarkShops in UAE & India. More on LinkedIn
Its hard to live in the Middle East and not know about Shukran. After all, its the largest retail loyalty program in the Middle East & North Africa, and I’m proud to lead the program’s digital initiatives.
With 15 million members across 10 countries, thinking about scale has become a habit. And here’s how we solved the problem our members forgetting to carry their Shukran card or discount coupons. Read more about the launch at the Web Team’s Official Blog.
[Update 24-Jun-2016] The Shukran app’s very first time at The Loyalty Magazine Awards won us runner-up position in 2 categories: Best User Experience and Best Coupons Programme. Couldn’t be happier!
As a Web Team, we strive to deliver an awesome shopping experience for our customers and the last thing we want is for our members to miss out on a discount, or not be able to spend Shukrans when they’re not carrying their Shukran card.
Earlier this year, I became part of the Landmark Group’s Web Team, based out of Dubai. The team that started off being the digital custodian for group companies, is now leading the eCommerce and Omni-channel initiatives for the largest retail group in the region.
We’ve had our Android & iPad apps for a while now and for the last few months, we’ve been working on a brand new design that we’re rolling out through a brand new app for the iPhone. I had the opportunity to directly work with Savitar, our Business Head and Creative Director. With him involved, there was a ton to learn right from user experience to writing this blog post. Read more at the Web Team’s Official Blog.
It’s been an exciting time here at LandmarkShops. Over the course of the last year, we’ve worked hard to deliver a true Omni-Channel experience to our customers. We know how much our users love to shop on their mobile devices with our iPad and Android apps.
This week, I’ve had major releases for all products in my portfolio: the LandmarkShops iPhone app, a CMS-powered LandmarkRewards.in for our 7 million strong loyalty program in India, and an update to the Shukran Android & iOS apps. That’s a lot of action in just 6 months since I joined. I’m relieved and off to a vacation!
I am part of the Landmark Group’s Web Team and my Product Management portfolio includes leading mobile apps for LandmarkShops in UAE & India, and all digital engagement channels for Shukran – web, mobile, in-store engagement. More on LinkedIn
a.k.a. Why & How Product Managers must assess, account & groom technical debt
When I started conceptualizing a new product 5 years back, the concept of technical debt only existed in theory. Over a period, the pressure of time & customers, drove features cuts, compromises, and unfortunately, some quick-and-dirty solutions. Post the short-term wins, its not too long before technical debt surfaces and forces a resolution.
Technical debt is taken up for short-term advantages such as shorter time-to-market, and preserving capital. But in the long run, it reduces productivity, time available for new feature development and, God forbid, might keep you from crossing the chasm.
While Product Managers balance out the short and long term benefits/impact of every product decision, it is important that they keep track of the debt that is being baked in with every story. At the same time, having some framework to preempt the debt that is inadvertently introduced and proactively manage it as a roadmap item.
The Debt Assessment Framework
Fowler categorizes debt as Reckless v/s Prudent, or Deliberate v/s Inadvertent. While this classification answers the ‘how’, it doesn’t provide visibility into ‘what’ and ‘where’ of debt is added. Without further classification, accounting debt is like having a balance sheet with just one account for liabilities. I would like to further categorize all the debt that is deliberately added and assess its risk upfront. Here’s how:
Risk assessment for (deliberate) technical debt
Comprehensiveness in all business scenarios, Browser/Language support, Super admin rights, etc.
Simple task flows, help cues, consistent design, mobility, Usability or A/B testing
Quick response, High availability, Clustering, CDN, Load/Stress test suite
Data redundancy, Recovery, Migration, Configuration management, Sizing estimates, Documentation
Portability, Modularity, Coding standards, & styles, Web services, Latest component versions; Has glue or duplicate code
Comprehensive coverage of functional/unit tests, either brittle or missing
If you’re wondering why (missing) features and defects don’t show in the list, that’s because they are the fundamental work units for development and not actually debt.
Aditi had done her bit of making our wedding cool by getting me to do a pre-wed photo shoot – that turned out awesome thanks to Frames of Mind. It was my turn and I had to prove to the lady (who had agreed to risk her life with me) that as a Product Manager I was creative enough, and thought of surprising her with our own “wedsite”. When the question of build-or-buy came up, I couldn’t find anything that matched my needs and the flexibility I needed to fiddle with it. So without much thought, I created a sub-domain, grabbed a copy of Bootstrap and got glued to NetBeans. I released the first cut online in less than 8 hours of work, and improved it over the next couple of weeks part-time (24 hours in all I guess). And yes, it really cost me $0, because I had already purchased hosting space and the prasadgupte.com domain.
In the last couple of years that I’ve owned an Anrdoid, I’ve tried everything from ColorNotes to Any.Do to store small bits of information. Trivial stuff such as
daily medicine dosage
recipe of my favorite sub (which my wife needs me to text every time)
frequent flyer / loyalty membership numbers
utility / bank account numbers, etc.
Such information that needs to be handy is usually lost under complex navigation menus. I’ve seen folks saving this information as draft messages (SMS) or even using memos which does not allow tags & full-text search. And that’s precisely the problem I tried to solve with Bitstore.
Google Reader had been a close buddy for quite a while, after Chitresh Jain got me addicted to a bunch of feeds, most importantly FMyLife 🙂 And then comes the sad shut down news that creates a lot of rant all over the web. After trying a few alternatives immediately, I was hopeful (and sure) that this would tickle opportunists and deliver a much better RSS reader. The threat of data lock-out that Google users were anticipating after the announcement was more than relieved with Google TakeOut and their commitment to Data Liberation (FYI, this was #6 on my list of the top 7 non-functional requirements for web-based products). And I am huge fan of the Google PR team. They made good sound great, and bad sound hopeful. And they’re so unbiased, they even delegated listing out the best alternative to end users itself.
Early July, Google Reader finally went down – RIP Reader – and I was exposed to Feedspot through Anuj Agarwal‘s bio on Quora. I had some troubles importing my subscriptions directly from Reader, but that looked like a problem at the Google end. It gulped the Reader TakeOut export without a hitch.
Configurability is the ability to change application behavior (functionaility) and the interface by changing application parameters, without the need to rewrite code. This can either be done in the front-end by users, or through back-end configuration. On the other hand, customization requires making change to the application code to modify existing or support additional requirements. Sophisticated application design (e.g. web hooks) can permit customization by externalizing the new functionality. But modifying existing functionality in a multi-tenant application is really not advised.
Top 3 / All-time favorite requirements
Web forms / Custom fields: Customers may require the flexibility to add additional fields to a particular document/record (object). Moreover, there would be a need to validate the input to the field based on data-type, or a script. For example, tenant A may require tax-ID as an additional integer field on the customer information object, and also make it a mandatory input. This has grown to be complex enough to support attachment fields, link to master data, controlling access to specific roles/user, etc.
UI customization: Customizing the user interface involves matching the look-and-feel with the customer’s branding: corporate color scheme and adding their logo. Allowing users to customize their own data views (record lists, reports) is just assumed to be there. Sometimes controlling data elements could also be a requirement. (E.g. End-users wont know certain information, so a section needs to be hidden for them. But the next user in the workflow Continue reading Top 3 configurability needs in B2B apps→
I am sure that the way I have configured my mail client or tablet’s home screen is different from yours. The reason we love modern-day apps and operating systems is because they let us configure the product to match our specific needs. Configuration is not a new concept – even old radio transformers allowed listeners to tune into the station of their choice without having to open any screws. Configurability isn’t a feature; its a vision. And it doesn’t come free; too much of it will also backfire. There are at least 3 compelling reasons why product managers need to plan configurability around every feature:
No product is designed for a single customer. And it would be rare that 2 customers had similar business processes. To adapt to the difference, without having to create customer-specific code bases, an application needs to be customizable. Gone are the days when customers would 200% of license fees on getting the product customized to match their business needs. In today’s scenario, solution providers need to cover the cost of customiztion through one-time implementation fees.
2. Rapid Implementation
Besides, customers are not looking at multi-year transformation projects with huge budgets. Project managers need to create compelling business cases and promise hard dollar recovery through the proposed solution. Every project is like a turn-key project and a vendor has no chance unless they can promise rapid implementaiton and unlock the RoI in stipulated time. Continue reading Why PMs should consider product configurability early on→
I’ve discussed web frameworks before and how they can help in rapid development. In this post, I’m presenting some general guidelines around selecting the best web development framework, based on your requirements, in the the preferred language: Java, Ruby, PHP, Python. The main criterion is evaluating the non-functional requirements it provides out-of-thebox, which can greatly aid rapid development.
What to look at in a framework?
You should know how the design considerations mentioned below are addressed by the frameworks you are evaluating. Depending on the business needs, some might be redundant, but tend to provide a holistic view of the framework’s capability.
Scaffolding code: What is the ETD to get a web-form with basic CRUD running?
Does it offer the flexibility to choose between convention & configuration?
How is input data validation achieved?
Is the View layer simplified with a template engine?
Does it employ object-oriented design patterns? and demand OOP?
Does it follow MVC (Model-View-Controller) pattern? How is routing (URL management) achieved?
What ORM tools (object relation mapper) does it support?
Does it have built-in support for multi-tenancy?
Does it support I18n & L10n out-of-the-box? (Internationalization & Localization)
How is Authentication & Authorization managed: inbuilt, using a module or plug-in?
Does it allow rapid development/deployment in line with Agile principles?
Are there cases of proven success for enterprise class applications?
What is the performance benchmark vis-a-vis other frameworks?
Is there in-built support/plugins for caching, unit & scenario testing?
Is it easy to debug applications, and if possible with in-built support through an IDE?
Does the licensing permit free use for all purposes and the right to modify code as necessary?
Does it have a clear product roadmap, sufficient documentation & an active community?
Don’t get carried away by flashy white-papers, classy developer events or generalized case studies. Your application is going to be different (a reason why you’re building that product in the first place) and while it is good to use guidelines, you need to see what fits your requirement best. Take a weighted approach to evaluating a framework based on the evaluation criteria above and make sure you have enough reason to be convinced.
This post is part of the SaaS Application Development series, extracted from my final dissertation submission at BITS, Pilani that closely looked at rapid-development of SaaS-based applications.