Categories
Blockchain Finance Financial Services

How to tokenize assets: Real estate ICO

In the crypto space, tokenization is the buzzword of 2018. Here in Crypto Valley, one can run into an entrepreneur tokenizing a real asset nearly on a daily basis. What’s more, many of the projects are already at an advanced stage. Therefore, it’s not unreasonable to expect that by the end of Q4 many startups from Crypto Valley will be issuing tokenized assets such as gold & silver, art, real estate, and agricultural property. Tokenization of an asset, however, is a complex process, mainly because of the tokenomics it involves. Let’s focus on a real estate ICO.

Tokenization – real estate token

The complexity of token economics can be illustrated through the example of a stable real estate token. By ‘stable’ I mean there are no large price fluctuations on the value of the token. This is a common tokenization use case in the blockchain space at the moment, as real estate is generally an illiquid asset. By tokenizing it,  it’s possible to bring liquidity to the markets. So let’s try to build a real estate ICO!

For a real estate token, we would like the value to represent the actual value of the underlying asset. But how can we guarantee this? Just for the sake of example, let’s imagine that we have 100 million worth of real estate as the backing asset. We can also imagine that the ICO is capped at 100 million. Each token represents a proportion of the actual apartment, being a security token.  Let’s enter the time after the ICO has been successfully hard capped and the token listed on an exchange. We need to analyze two different things: when demand is higher than supply, and vice versa.

When demand surpasses supply

As the demand grows larger than the supply, we’ll see a price increase of the real estate token. This would be an ideal situation for a utility token or a security token of a more speculative nature. However, for our purposes that would not be ideal. The value of the token wouldn’t be backed by the real estate anymore and would start to grow. Just like in the many economic bubbles in the past.

The solution for stabilizing the price would be to allow an unlimited supply of tokens to be released to the market so that the real estate token issuers would be able to issue real estate to the markets per demand. Roughly speaking, this would mean that the token issuer would have to offer an unlimited supply of tokens to the markets.

Meeting the increasing demand brings a different problem to the table – how will the newly created tokens be backed. Will there be a pool of real estate larger than what was offered in the real estate ICO, or will the issued funds be held in escrow and used to purchase more real estate? Depending on the model chosen, and on legislation, it may be possible that issuing new tokens will require financial licensing.

When supply surpasses demand

Another problem arises when there’s a bigger supply of the token than there is demand. This would happen, for example, in a situation where a major token holder decides to liquidate their position all at once. Surely, one might argue that market forces wouldn’t lead to the price of the token going below the value of the underlying asset. However, this might not be the case – what if the market actors simply would decide to wait for a lower price and join the dumping party with the expectation to buy even lower?

We can solve this problem in a couple of ways. First, if we use an ERC-20 token, we can have the liquidity mechanism using Bancor. The tradeoff is that it will tie a large amount of the ICO capital to the Bancor smart contract. Another approach would be to directly build market makers into the exchanges that are used to trade with the tokens. However, as the number of exchanges grows, it could mean spreading the liquidity reserve in multiple locations simultaneously.

Exchanging the tokens

Another question comes to mind: where is the business model in all of this? The company could focus on growing the amount of real estate and deriving a cash flow from rental contracts. It could also consider other ways of getting income. For example, it would be possible to charge a transaction fee. Depending on the technicalities, this can be done directly on a smart contract. If a smart contract solution isn’t ideal, it can be directly implemented on a customized blockchain protocol.

This leads to the next question. Would it be ideal to use an ERC-20 token and integrate it into an existing exchange platform, or would it be better to use a customized blockchain protocol? An ERC-20 token is easy to integrate into different exchanges. However, it will have the limitations of Ethereum protocol.

Real estate ICO: What about regulatory compliance?

The final big question is how to deal with KYC/AML compliance. After all, if the token is to represent actual real estate, the investors may have legal rights to dividends and to the real estate itself. Therefore, we need to have a way to vet ICO investors. Also, the ability to invest and transfer the tokens needs to be limited to identified parties. The easiest way to solve the compliance aspects of security tokens is to whitelist the identified real estate ICO investors and use exchanges that only allow identified investors to trade. If you’re considering a dedicated blockchain, these control mechanisms need to be implemented at the protocol level.

I’d be happy to talk to you about tokenization, and your real estate ICO (or any other plans to tokenize something valuable!), if you’re planning one. Write to me using the form below!

Categories
Software Technology

Web Application Testing: Terms of Quality in Web Applications

The development of modern web applications is a complex process that requires the coordination of many different specialists working to achieve a common goal. One might think that all you need is a developer and some code in order to make a webpage work. And one would be correct to some extent, however, there are other aspects that have to be taken into consideration, such as quality, which is possibly the most important example.

“Quality is not an act, it is a habit” Aristole

 How to define quality in terms of web applications? This is a very wide term covering everything from the basics and particularly the importance of testing: functional checks, usability tests, requirements testing or performance testing to more in-depth subjects like accessibility testing, security tests and fully-automated tests.

To examine the subject further let us have a look at the most common test areas.

Types of Web Application tests

Manual tests are the cornerstone of each successful project, each functionality has to be tested –and often for many devices/browsers – whether it meets the specification requirements, each edge case needs to be tested thoroughly to prevent an end user from exploiting any security threats or causing a web page crash. Many of those manual tests can and should be automated in order to reduce the amount of time required for testing. Test automation is a development branch that requires special tools and frameworks where each test is fundamentally a script, so a skilled automation engineer should also follow all good code practices and standards.

Another area are performance tests which can be divided into several subareas and strategies. A very common approach is to just test the application response times, however, more detailed tests check things like: How does an application respond if there is high traffic? How many users can enter the page simultaneously before it crashes?

Does application performance degrade over time which implies some memory leaks? What is the page load time in Hong Kong in comparison to Atlanta? Thorough performance tests can provide answers to those questions and help find potential problems and bottlenecks.

Security tests are meant to find as many potential security issues as possible. They are conducted in order to locate and fix security vulnerabilities which could result in hacking the site, sensitive data being stolen or crashing the servers. They usually consist of the use of various automated tools that check for the most common threats but may also need some manual tests which require the tester to think as a hacker and predict possible issues.

There are some other testing approaches as well, accessibility testing focuses on adjusting the application so it is usable by people with issues like hearing impairment, color blindness, infirmity and old age or other problems; usability testing focuses on testing how easy and intuitive the page is; and regressions tests which constantly ensure that none of the already existing functionalities breaks and that quality does not deteriorate.

Requirements for successful Quality Assurance

As you can see testing web pages consists of many areas that often require a specialist to be able to prepare and conduct a valuable set of tests. In order to test application security one has to be up to date with current threats, be an expert in the area of system architecture and proficient as a developer as well. In order to provide a successful test automation a skilled developer with test experience and devops knowledge is a must.

Finally the testing requires effort from the whole team in order to be successful. This is very often overlooked and people think that simply adding the testers to the team is enough to improve application quality. However what everyone needs to be aware of is that it also slows down the development process due to the fact that it now incorporates testing.

So every new feature has to be manually tested, all defects need to be documented and fixed, also the automated tests need to be recorded and maintained as well as regularly updated to match the latest changes in order to produce benefits. Any additional testing activities will also usually require new testing environments and will further delay the release date. However, there is a huge advantage of doing these kinds of tests and I will discuss this in the next part of this article.

The Benefits of Testing

So what are the actual benefits of testing and should it be done? Well, let me give you an example. Let’s say that you have ordered a brand new car that you expected to be the best in all areas and you have just received it. At first glance everything looks fine but after one day of using it you notice that the top speed and acceleration is actually much worse than with your old car.

Moreover the door only occasionally locks which makes it very prone to theft. There are also a few issues inside the car, the gear box does not work properly, the radio is broken and in order to use the turn-signal you need to press 2 buttons that are located on the backseat of the car because someone thought that this may have been a good idea despite of what the standard is.

In fact this is not an extreme example, because some web pages look more like a car that could never even start its engine, never mind drive and yet there they stand, proud members of the online community. The benefits of testing affects both the team and the business-side. Testers will increase the team’s confidence before release and test automation constantly ensures the developers that their code changes do not introduce new issues.

Testers also make sure that the new functionalities are consistent with requirements and make it much easier to introduce all kinds of bigger changes in the application (technology stack updates or application changes) due to automated tests. From the business perspective the end-product is of higher quality, the risk of introducing a defect into the production environment is much lower, which is the same as the possibility of weak performance or security issues.
 

Summing up

If you don’t have time to do it right, when will you have time to do it over?

Without proper tests development costs rise over time as many features have to be done again or completely changed due to bad design decisions. Moreover software becomes more bug-prone, the usability suffers and the overall quality deteriorates which in some cases may lead to huge exodus of the application users.

To sum up quality assurance is crucial in web application development and it has been present in the industry almost since its beginning and is growing each year, being present in all informed companies development processes.

See also:

Categories
Blockchain Software

Utility token vs. security token explained

Utility tokens and security tokens represent the two main categories of the ICO token. People easily get confused about their differences and use cases. I’ll go through a quick presentation of their key characteristics and dig deeper into the security token topic. Let’s highlight the benefits to investors and the trading aspect of those tokens.

The difference between a utility token and a security token

Utility tokens provide their holders with an access to the company’s services and/or products. Yet, they aren’t issued in the form of an investment asset. That means that the purchase of a utility token doesn’t have to comply with securities laws at this point.  A utility token has a certain use case inside a project, but it isn’t designed as an investment. It ‘s not a company share. However,  this can still be profitable In fact, the price of a utility tokens can grow over time if the demand for the service or product increases. So, buying a utility token that brings value may bring profit to its holder.

A security token is quite different. It gives its holder a right of ownership and is subject to securities regulations. In the US for example, the SEC has ruled that security tokens are subject to the same federal laws that regulate traditional securities. This brings a limit to the type of investors that can invest in security tokens. Therefore, their trading is also extremely limited and restricted.

The main problems for ICOs using utility tokens:

The rise of ICOs in the last 18 months has brought some major issues in the market. Investors are getting more and more cautious after numerous scams have been widely publicized in the media.

One other major issue has been brought to light when it comes to ICOs using utility tokens. Regulators all over the world (especially the SEC in the United States) are investigating tokens according to their actual usage, as opposed to how they were intended to be used. This is very important because a utility token might actually be considered as a security token. A very high number of ICO tokens are expected to rise in value over time. Therefore, investors are holding on to them as an investment, instead of actually using them within the project. This is where the regulators see a problem, and that’s why they consider those tokens as securities. The SEC chairman, Jay Clayton, even said: “I believe every ICO I’ve seen is a security” . Though, to be fair, he did also say that not all ICOs are scams.

This is why a lot of companies have decided not to let US-based investors invest in their ICO, or look into building a project with security tokens instead of utility tokens.

Why is a security token so appealing?

Issuing security tokens during an ICO is seen by a lot of industry professionals as more efficient and less expensive compared to using utility tokens. It reduces legal risks and brings safety for companies in the long term.  On the other hand, a lot of ICOs still try to avoid using security tokens because as I mentioned earlier in this article, it brings about the restrictions about who can invest and trade the tokens, which limits the potential of fast and wide adoption.

Strong ICOs backed by very solid teams are using security tokens more and more often these days. The reason is simple – they don’t want to risk any issues with the regulator. What’s more, they often don’t have any problems raising funds from accredited investors. Plus they’re able to operate on the US market.

You’ve been warned

As we mentioned earlier, a company issuing utility tokens that are later considered as securities by the regulator could bring huge potential liabilities. So, it’s natural that founders are becoming more and more aware of this.

The bottom line is that if you are a company founder dedicating all your time and resources to building a massive business, you want to be sure that your ICO is compliant with ever-growing regulations. Otherwise, it leads to liabilities. On the same note, if you are an investor in an ICO, you’ll definitely want to invest in a token that brings you maximum protection. A regulated security token is often the best way to achieve this.

I’m not saying that utility tokens are good or bad. Or that security tokens are the best way to go. However, as a company founder or as an ICO investor, you’ll probably need to take the elements I’ve mentioned into account. Those two types of tokens have very different aims. As you could see above, security tokens are designed to represent shares of the company, while utility tokens represent access to the company’s product or service. It should also be noted that sometimes, a security token is the only way to go. For example, a lot of projects promise buy-backs of their tokens which makes them a security to the regulator.

The trading of security tokens is its major disadvantage:

The major issue with a security token is that only accredited investors can invest.
The requirements include the following. Only one of these elements needs to fulfilled):

  • An annual income of over $200,000 as an individual or $300,000 with a spouse.
  • Net assets of more than $1 million excluding the primary residence of the investor.
  • An institution with more than $5 million in assets.
  • An entity fully owned by accredited investors.

Meeting the criteria above is fairly hard for most investors. This is why a lot of companies go for a utility token: to attract the largest number of investors without being limited to their net worth or geographical location. Using a security token enables an organization to provide token holders with benefits like dividends, voting rights as well as profit shares. This is something a lot of investors are looking for. Also, a security token can still have a utility use case. It can be used within the project’s service or product as a native transaction value.

If you’re still not sure how to handle your ICO, write to me using the form below, or see my contact at the bottom of the page. I’m sure I can suggest something.

Categories
Entrepreneurship Software

From Idea to Working Prototype: Startup App Development Guide Initial Stage

A new app is born every minute. Sometimes it is a gaming app, >or a social network, >or a business app developed to meet certain objectives. However, all these apps have one thing in common: the initial development stage. It all starts with an idea, which moves on to a strategy, and eventually it reaches the stage of a prototype, where the idea is fleshed out for the first time. In this article, we’re going to take a look at these first few steps of the app development process.

The idea

Calibrating with the development team

The first step of the app development process involves relaying information regarding your company, business objectives, target market and competition to your development team. This means that you will have to go through an initial calibrating stage, where you will provide the development team with relevant business documentation such as your business plan, pitch deck and business model canvas. A request-for-proposal is also very useful at this stage. We’ve covered this area of the development process in depth in this article.

Strategy

The previously mentioned documentation should cover the competition, but it would be useful to dig a little deeper. There are three main factors that should be taken into account when checking out a competing app: the number of installs, the ratings/reviews, and the history of the company behind the app. Most of this information can be accessed for free at the app store, and on the company website (where you will find case studies, white papers, and announcements on their blog).

Once you’ve found the top competitors within the market, you want to study their apps and see how well they address customer needs. This will help you find new niches and angles of attack, where you can provide more value through your app.


Next, you want to consider monetization. You will sometimes develop internal apps, which are meant to improve business processes such as HR, or they may be meant to mobilize the sales force. In other cases, you might want an e-commerce app, or a client-facing app meant to augment business services and act as a marketing tool. You also have a third kind of app which directly targets a segment of the market and which benefits from direct monetization.

Depending on the type of app that you end up developing, you have several monetization methods at your disposal, including in-app purchases, advertising, premium features, subscriptions, and selling user data.

You then want to take marketing into account. You will have to figure out a marketing strategy, preferably an iterative one that will allow you to increase app adoption, user retention, conversion rates, and other relevant metrics. This could mean adding an on-boarding process, push notifications and a variety of other features.
Finally, at this stage you want to consider the Minimum Viable Product (MVP). The main idea is to determine and understand your app’s key functionalities, and prioritize a list of features that will go into the MVP first.

This article presents a linear approach to executing the strategy. There’s also another way where the whole application scope doesn’t have to be tackled at once. The process is followed only for the functionalities within the scope of the MVP, then the app development starts immediately and further functionalities are iteratively added to the sketches, wireframes and prototype while the MVP may already be monetized.

From Idea to Working Prototype: Startup App Development Guide Initial Stage

Prototyping

Between the idea, and the MVP, you have the prototype. A prototype is a fleshed out version of the app’s UI, meant to test for functionality and user experience issues at a very low cost. Prototypes are perfect for iterative design and development, being less complex than an MVP.

Identify key functionality features

The first step of prototyping is to identify the key features of your app. If you’ve gone through your strategy in the previous development stage, you already have a prioritized list of features written for your MVP. This list will work here as well. Take the top 3-4 features from your list, and consider how they would be accessed and where they’d be in your UI.

Create user personas

User personas are a powerful design and marketing tool, and they are meant to represent the major user groups for your app. Your app can target many different user segments, but it’s important to categorize these segments in a way that translates into UI and functionality decisions.

For example, you’re building a productivity app that targets both 20-something young adults in college, and 40-something soccer moms looking to set a schedule for their children. The key differentiating factor between these two user groups may be the level of technological competence, or it may be the desired functionality features. By understanding your user personas, you are able to make important design decisions early on, where you have very low costs of implementation.

Sketch out the primary screens

Once the conceptual work is out of the way, it’s time to put something on paper (digital or otherwise). This is where the sketch comes in. The sketch is a perfect tool if you want to understand how elements will be positioned on the screen. Sketches are dirt cheap to create, and they can be used to get buy-ins from stakeholders, before moving forward with the app.

Turn the sketches into wireframes

Once the sketches have been approved by the stakeholders, it’s time to start the wireframing process. Wireframing is a low-fidelity representation of the UI, but it still lacks functionality. Some companies will skip the sketches and dive straight into the wireframe. However, fixing a wireframe is slightly more time consuming than fixing a sketch.

Create the prototype

Wireframes can be easily transformed into a prototype by adding basic functionality and interactivity. A prototype will help you calibrate the UI and improve the user journey. The main advantage of taking this route, instead of jumping straight into the MVP is cost saving. Each step of the way allows you to calibrate the fundamental elements of your app for a very low cost, a process which could otherwise be very expensive if complex code and design is added to the app ahead of time.

User testing and recalibrating the prototype

From Idea to Working Prototype: Startup App Development Guide Initial Stage
Apps concept drawn on a notepad placed on a desk

Once the prototype is up and running, it can be shared with stakeholders, users and investors. This is also the point where you can start the initial user testing, and calibrate the prototype to perfection. Based on user feedback, you will be able to go into the MVP with a market tested UI and UX, and start adding core functionality to your app.

Prototyping tools

There are several prototyping tools out there, which allow your team of designers to create prototypes in an expedient manner. In some cases, some of these tools are so accessible that they eliminate the need to use sketches before designing the actual prototype. Here are 5 of the most popular tools today:

Balsamiq

Balsamiq is a tool designed to build wireframes, but it has a feature which allows you to create interactive prototypes that can be used for testing and demos. The main strength of Balsamiq comes from the community, which generates a ton of content that can be used to speed up the design process. You will find assets, templates and other elements online for Android, iOS and BlackBerry.

Justinmind

Justinmind also works with wireframes, and the great thing is that any change you make on the wireframe is reflected on the prototype immediately. This tool also includes simulations for various gestures such as swipe, tap and hold, and others. To top it all off, you have access to a large library of user-generated pre-built widgets to speed up the design process.

Moqups

A free to use tool, Moqups is one of the most accessible items on this list. It has an easy-to-use interface that comes with a lot of pre-built materials such as image placeholders, sliders, and others. You will also have access to numerous templates that come with platform-specific UI elements. The only downside to this tool is that it only produces wireframes, which then have to be transferred to another tool, in order to add functionality.

Proto.io

Proto.io is a prototyping tool designed specifically for mobile applications. This tool allows you to create prototypes without any code, and it has a great feature that allows testers to add feedback as they are using the prototype. It is also very accessible. The entire prototype can be developed from a single screen, where designers add the various elements of the app and determine the interaction between them.

UXPin

UXPin is available for multiple platforms, and a wide range of resolutions. The main advantage of this tool is that it has strong version control, which makes iterative work easy. On top of that, it has useful features such as real-time commenting and editing. UXPin is the tool to use if you want an emphasis on rapid UX development.

Conclusion

In order to ensure maximum cost efficiency, and a perfect market fit, it’s best to have an initial development stage that includes prototyping and an MVP. If the development process starts with a laser focus on the target market and its needs, augmented by iterative development, the resulting app will be much cheaper to develop, and it will be much more effective at achieving business objectives.