Zippie Product Update — January 2019

Marko Mattila
Zippie
Published in
7 min readFeb 7, 2019

--

New year, new tricks. It’s been a while since our last product update so it’s time to catch up what we have been doing here at Zippie front.

Scrum Process & More Releases

Two sprints with planned content vs. done content. Bugs are not planned content and usually a few tasks are also added after the sprint has started which effects on the statistics.

We changed our development process to follow scrum practices more and it really has paid off. We used to have one month iterations but it just didn’t work for us. One month is rather long time to make reliable plans and work estimates and therefore we failed to deliver some the items what we planned.

So we started 2-week sprints in January and we have completed two sprints now with really good results. The team has learned to estimate and split tasks better. One rule we use for planning is that we shouldn’t have tasks which are “larger” than 2 days. With these changes in the process, the team has started to deliver and our Trello board is really active when tasks move between different states.

After moving to 2-week sprints, we have made releases more often. Currently we run Alpha 8 release. The target is to create a new release on every sprint. Just point your browser to https://my.zippie.org to try the latest version.

Customizable Zippie Signup and Zippie API for Partners

Screenshots of the AirImpact Fantti campaign product utilizing Zippie features.

Zippie team worked hard during December and January to provide customizable sign in for 3rd party apps like AirImpact. AirImpact is a p2p donation application which makes it possible to donate directly to a cause. AirImpact uses Zippie features such as sign in, wallet and our great payment link system.

You can see the sign in and wallet in action at https://app.airimpact.org where you can participate to AirImpact’s first campaign to save African elephants and have a chance to win a trip to Tanzania. You can also read more about AirImpact at https://airimpact.org.

Any application can use Zippie sign in with customized UI elements. The sign in wallet can have for example the application’s logo, colors and name to give more in-app experience.

Participate to Zippie-powered AirImpact campaign to save African elephants; you might even win a trip to Tanzania!

Our team has also created the first version of a wallet API. The wallet API makes possible for a 3rd party app to create and claim payment links or get a balance of the wallet. When the dapp creates account for a token, it is registered to have access rights only to that account. This restricts the access to other wallets which a dapp has no access.

We have plans to improve Zippie API even further. For example to implement better way to manage permissions and by removing some boilerplate code to make API even more simpler. We will also introduce a new API for modifying Zippie user data such as profile photo, name, email and telephone number.

If you are an app developer who needs an ID and a wallet features, take a look at the Zippie API documentation: https://github.com/zippiehq/vault/wiki and start coding.

Sign in link to recover Zippie account

Recovering an account or a wallet in the blockchain world has always been a pain in the ass. We already have the 10-second onboarding but recovering an account in an easy way is not a trivial task to do.

You can now recover your Zippie account with a link and also revoke devices.

In December release, we introduced Sign in Link -recovery method. User can create a sign in link already during the onboarding or create it anytime from Zippie settings. In practice, Sign in Link is a password protected link which is sent to your email. You can use the link anytime, on any device to restore your account. Just open the link, enter your passphrase and you’re done.

Security view has been improved too. It shows a list of all enrolled devices in and Sign in Links in ‘human readable format’. It’s easy to keep track all your devices but you can also revoke any device or existing sign in links using the same view for example if you think there are security concerns on any device you are using for Zippie.

Better localization support

We envision that Zippie will be used all around the world. Therefore we wanted to make localization easy to us. In January we changed all the strings in Zippie UI to message IDs and started to use a tool called WebLate to ease translation process. With this change our source code doesn’t contain any strings, only the IDs and it’s easier to change any translation or fix typos only using WebLate without needing to change the source code. It is much easier to catch missing translations now by spotting a message ID instead of the actual translation. This way we can catch more errors already during a development phase.

Productizing Pay My Gas (PMG) service

Pay My Gas is an essential element in Zippie infrastructure. If you’re not familiar with the PMG concept, in practice it pays gas for you and you don’t need to have any ETH in your wallet. PMG is one enabler for providing such an easy way to send tokens between users.

We have started to productize Pay My Gas service to make it more robust. For example we don’t want people to lose their pending transaction in a case PMG crashes or there are network problems. Out plan is to make it also more scalable meaning we can ran multiple instances of when number of users increases. There are also many other areas to improve but we are gradually making it better and more robust.

Reward Engine

Reward engine is a feature we haven’t been shouting out too much but it is an enabler to reward people for example when they make purchases via Zippie Marketplace. The idea is simple, eventually there will be our merchant partners in Zippie Marketplace. You go to the merchant website via Zippie Marketplace, buy a product and you get rewarded with tokens which are saved to your Zippie wallet.

We have now the first version of the reward engine up and running and we can actually start testing and productising it very soon. We will post updates about it during the spring so stay tuned.

We also built the first version of service tokenizing airtime for the AirImpact case. As we described earlier, this enables AirImpact to send help directly to where its needed, instantly and without fees.

Automated E2E Testing

Besides the exploratory manual testing that we do for all the new features developed throughout a sprint, we have been developing a set of end-to-end automated tests using Webdriver.io (https://webdriver.io). WebDriver.io is an open-source test framework for NodeJS.

The current set of e2e automated tests cover about 40% of full checklist of Zippie functionalities. We are constantly working to add more coverage as we move along. Automated tests help us check each new release as well, since we can run them against our development environment as well as our testing and production ones.

This full set of tests is run every night as part of our CI system in Jenkins, covering Chrome and Firefox browsers. We use Allure to display a nice HTML report with the results of each run:

Besides running full nightly test set, a small and fast set of end to end tests is also run after every commit to the Zippie repositories. This small set runs in less than 2 minutes and can give us really fast feedback on each change:

Having these allows us to focus our work on exploratory testing and bug verification, instead of having to run these same checks manually over and over. To improve testing, next we will add more coverage, automated testing on mobile devices and implement more test cases for new features like the sign in link.

Security Audit

Moving Zippie to the main net has taken longer than anticipated. BlockchainLabs is executing the security audit and so far the focus has been to improve the documentation to make the actual review process easier.

The second phase of the audit has been started now and we expect to see a stream of improvements and bugs coming in during the next 2–3 weeks. Once this phase is over and we have made the required improvements, we can move to the main net.

What’s next?

We have plenty of things on our plate such as productize PMG, Reward Engine and AirTime Service. These features don’t bring much changes in the Zippie UI but they are enablers for use cases we want to bring to Zippie users. Of course we have high hopes to finalize security audit soon which has taken way too long. Luckily it’s moving forward on fast speed now.

I hope you like what we have been up to and in the meantime, why not follow our project’s progress and join our community on Telegram, Twitter, Reddit and YouTube. See you there!

--

--

Marko Mattila
Zippie
Writer for

I'm a father, husband, CTO at Precordior, snowboarder, mountain biker, runner, blogger and everyday experience junkie. I love good UX and great design.