📜 ⬆️ ⬇️

AndroCAD: Rise to Power. Electronics and Android

Once, one dude said: “The state is me. No, there is no state. ” That was 300 years ago. Ludwig No. 16, Sun King. Honestly, without citizens he is - no one.

On Habré often flash a success-story of “loners”. About how one guy got an idea in his head, and he decided to create a program / service / website. He saved up a molyon / took a loan, put together a team / hired a company, and guided him for half a year / year. And so, he made a project ! Ay, maladtsa!

I will tell about the project of this loner, from scratch to ... I do not know. Neither sucess or feil is observed. In general, an entertaining reading for general development.
')
image

Next: VERY MUCH LETTERS.

“AndroCAD is me”

It sounds more modest, and truthfully to all 146. I am the guy “all-rounder from boredom”, in Russian - a full-stack developer. Electronics engineer (circuit design / microprocessor programs) and programmer (C ++ / C #). There is no deep knowledge in any field, but my soft-hard projects are widely used in narrow circles.

And again I wanted something strange

Last time, in 2007, I almost grabbed a piece of the market, creating the first mobile offline directory in Moscow. At that time, 2GIS was wandering in the Great Victory Day. The rest (Yandex, Mail.ru, Google, etc.) just started to create directories, and all requests from them were made online.

Remind zaanuhi those years? "Super offer! GPRS for only $ 0.49 for 1 MB. ” Therefore, my “Moscow Yellow Pages for Pocket PC” had every chance of success.

I gutted 2 PC phonebooks and grabbed 2 sites. Made a self-made database for 90,000 organizations (because SQLite was terribly slow). I grabbed Google, Mail.ru and slapped raster maps of 100 MB each, tied to GPS and addresses. Provided classified advertising banners and other tricks of the shop, so that firms pay for first places. Everything was smart and smart, considering the communicators of the 2000s (ARM 400 MHz, 3 ”).

Become a millionaire prevented me from Bill Gates, in person. He closed Windows Mobile for bugs and technical backwardness. And I sawed the project on weekends and in the mood. It stretched for 2 years, instead of 4 months intensive. I am corny late to the distribution of elephants. I did not release my first and last program for the dying platform.

I guess this is my biggest file. The project did not give me any development. For such a complex project, neither factories, nor patterns, or other heresy were required. Only planning, logic and basics of C #.

Fall 2014

I wanted something similar, something monumental. The dominant platform is selected - Android, I am in it a complete zero. But here's the theme ... The market is full of "fappi crappie birds", which are forgotten in a week. I looked at the monitor - I saw the design systems for electronics engineers: Altium, Mentor, Cadence. They have only one thing in common - the end result of labor. Projects are exported to the Gerber-274 format, the resulting files are transferred to the production of printed circuit boards and equipment.

The Gerber-274X format dominates the global electronics market.

image

The idea was found. Of course, this is not a whistle with a million installations, but a niche product for 100,500 people. But he will provide a decent line in the resume. The company Ucamco (created Gerber), laid out in a network of 150-page specification. There are no problems with English - I plowed burzhuins in Moscow’s R & D.

It remained only to build

image

First of all, it was necessary to go to the IPO and cut the loot to come up with the name of the project, buy a domain for it and make a website. What and how - he knew only in theory.

Project name.

Now it is clear to me how such decent names - Tumblr, Flikr - come from decent companies. Fucking cybersquatters! The domains on my list of 15 points were taken, were not used, and were “parked”. Many with contact soap and price. Yukh them with butter! Not a penny to the extortionists! Let their children go hungry! Only AndroCAD.com was free. However, the name reflects the essence: Android + CAD, by analogy with Automotive + CAD (AutoCAD).

Domain purchase

I read that the domain you need to buy away from the strange people at the top. One does not like the Github and Wiki. Another is # Krymnash and “Sevastopol Avenue”. Result: you look askance at anyone - and bye-bye, domainchik. GoDaddy is especially famous for this. My registrar (InternetBS), put on all the router and holds a large Russian torrent. There was an alternative - the wikileaks recorder.

Free site placement

With this tight, despite dozens of options. Some give for 3 months. Some are often unavailable. Some upload ads. One thing I caught on uploading someone else's Google analytics to my pages. For what? X.III. My current hoster (50webs.com) is stable, has a free tariff for a year. Many restrictions, but for a simple site will come down. A year later, they reported that they give another free year.

For the site to appear on the Internet, you need to register your domain name at the host, and enter the host’s DNS at the registrar. An hour later the site is available worldwide. The content was written by myself (I hope it turned out no worse than that of the sports minister) .

Programming environment

A few years ago I tried to join Android, but did not cope with the quest “Build a development studio from different sites, without a manual from Google”:


It would seem that a billion-dollar corporation, throw a hundred kilobaksov to your Visual Studio, so that a person runs the executable and in half an hour starts coding! But in the early years, Google never acquired a Studio Studio.

Because of this “developer-friendly” atmosphere, I cooled off to Android until 2014. By that time, Google began to lay out the semi-finished “Eclipse + Android” with instructions. I work on it. Now Google has abandoned “E + A” and is promoting “Android Studio”. The first versions of Studio could not even be installed correctly and did not digest the examples for Eclipse.

Perhaps, Studio was fixed when some people broke away from reading “How Google Tests Software” and stopped asking questions about the number of balls on the bus and how to get out of the mixer.

UPD: In the next topic about Android Studio, I see that they announced a new emulator and code changes during debugging. Cool if it really works.

Actually development

I am using the hundredth part of the capabilities of Android. Without “patterns”, without “trees”, without “sorting”. None of what love to throw at interviews. The program should work stably, but more she owes nothing to anyone.

After 2 months I made a demo version. A month later, I thought I was ready to sell Pro. But the defense was limping. I tried the ProGuard obfuscator. It replaces the variable names with the short “a, b, c” and optimizes the APK. Somehow look inside. The APK says: yes I am protected, but see the class “SecretGenerator”? Pick him up! And also look at the “Validate” activity with the “Access” button and the “Unlocked” picture.

For fun, I wrote “Dummy Obfuscator”

It randomly renames classes, activities, and resources.

image

Dummy is a primitive program, but it makes it difficult for hackers to work at times. An interesting side effect is that due to the change of names, all resources get new integer-IDs and are shuffled when building an APK. It's like a fingerprint to track pirates. Can Dummy bring to mind and on sale?

But “Dummy” did not soothe paranoia. Google uses the LVL protection mechanism to check purchases. There are tools that look for protection signatures in the APK and do their substitution. What can we say about hackers? No brainer that complicate their work can only check on your license server. In this I am a complete zero, so I refused to sell through Google.

I put only Gerber Demo in the market.

Who was interested - went to the site AndroCAD and saw there for sale Gerber Pro, with reference to one device. For a month, the Chinese and Americans bought several licenses. Paid through Skrill and PayPal. PayPal was UNCERTAINLY disappointed when out of $ 100 I had $ 70 and then $ 50. What is the trick? When the fourth devaluation of the ruble began, Paypal forbade the Russians to have foreign currency accounts. The Bucks that have come to you will convert them into rubles, and every day they will count your buck account. The ruble falls by 40% - you have 40% less bucks. Okay, I have $ 100, and who had $ 10,000 ??? Skrill does not have this trick, but it only takes 20% in sales.

While resting on my laurels, I wondered if I would save up for a decent summer vacation, or would I have to go to #Name Crimea, to the company of 1,500,000 restricted to leave travel bureaucrats, police and military? Horror.

We need mooore gold, URGENTLY!

I built in the site buttons of payment systems, but there was no movement. I wrote about the program on a dozen foreign forums - zero sales growth.

Localization of the application

In Google statistics, it is indicated that the main Gerber Demo installations come from the USA and India, Russia is in sixth place. From the first five, Pro was bought only by Americans. I read that translations greatly increase the flow of users. I came across a note on collective free transfers from crowdin.com and cucumis.org. It seems like the people translate other people's texts in exchange for translating their own.

I decided to get a German and Italian translation. I have translated quality dozens of lines in games and programs (EN-> RU). In response - ear from herring. At this time, Alkonost in English spoke to me, I wanted the contacts of someone who makes videos in AndroCAD and makes ads. But I did not betray myself, and to pay $ 0.10 for each word is somehow dishonorable. I do not want to transfer the contract for the sale of the homeland of oil!

I put the announcement that I will present the translation with Gerber Pro. Italy, France, Argentina responded. When I poured the translation into the Play, I became suspicious and asked for screenshots of how it looks from the authors. They have a Latin alphabet with a pinch of native characters. When transferred, they are distorted or disappear. I changed the “default language” in Notepad and the browser and it all matched. Transfers did not affect the “installs”, and 2-3% per country remained. Conclusion - all this nonsense.

Waiting for the Big Bubble

I slowly sawed Gerber Viewer and the rest of the viewers. There are 25 CAD / CAM / EDA / CAD systems in the world and each exports Gerber as it wants. Now, 80% of schemes from the wild Internet are displayed without errors. You can fix another 10% and this is the limit, because in Android there is a rendering bug.

Meanwhile, there was silence in the sales department. 10 licenses per month is not a business! Google notified that 20% of users are watching AndroCAD videos on Youtube. 40% visit my site. The number of Demo installations grows weekly by 7%. But where is the money, Zin? Where is feedback?

Users do not want to say that they are not satisfied?

It is necessary to make them happy by force! I have implemented Flurry analytics in the project. Other services want money already for tracking 1000 users, Flurry is free for 100,000. There are 2 approaches: Google gives an “average for the hospital”, Flurry gives the behavior of each user.

Respecting paid users, I built only anti-piracy beacons into Pro. In Demo analytics is sent for every sneeze: which buttons are pressed, which activities are shown, which files are opened.

image
Big brazza is watching ya!

It turned out that Flurry loses a quarter of users and messages. Sometimes data update is delayed per day. Still, Flurry helped. Looking at the logs, I realized that I overestimated humanity. What can a person with localization “es_MX”, “pt_BR”, “nb_NO” or “vi_VN” know about? Such 70%. How can they tell me “Hey, I wana yo Gerber Pro”? No

The second hit was the Gerber Demo log. Only 20% of users directly climb into the file dialog and work with projects. Most often, the program tries to open ... JPG files. Then come mp3, pdf, zip / rar with Gerberas. 10% are trying to open schemes of some CADs. 50% of users generally wander aimlessly through the file system.

image

Electronic engineers are the skeleton of civilization. But how stupid they are! Don't know which files they work with at work? They think that after installing Demo, a miracle will take place and their projects will appear on the tablet? Only watches from photos can disappear by a miracle! I realized that shooting rovers and rovers do in Hollywood my concept of sales provalilas.

I put Gerber test files in .APK, they are copied to the memory card when you first start. Even after that, 50% of users could not open at least a test file. Some stubbornly poked at% holiday% .JPG and% manual_androiddevice% .PDF. Feyspalm and curtain.
Habralyudi can advise that you need to put a file filter, and not obni black people. Basic CADs gave me 40 file extensions. Reading the logs from around the world, I realized that the names of the layers are made with the left foot or by decision of the Party Congress XXVIII Congress. There is even TXT, single letter and no extensions.

Conclusions made at that time

1. Gerber Viewer is stable. It remains to finish the parser.
2. My program has unwittingly become a test of this IQ.
3. You need to sell the program through Google Play, otherwise I will not see the money.

I had to go down to earth, uncover the keyboard, cut Gerber Pro to Gerber Light and write a licensed server

Yeah. Project manager, designer, programmer, tester, translator, accountant. All in one bottle. Now a backend developer has been added to this gop company. Well, where is ours not disappeared?

Own server from scratch is cool. Depla, imazhes, mapping, linuh, gvp, pkhp and so on. I was going to spend a month studying, but I accidentally saw that there was an easy way out.

Some "cloud storage" can run your scripts on its side (the trendy BaaS - backend as a service). True, your code and data will be available to outsiders. If your ears are covered there, then your data will be merged by the hackers. You can also gobbled up if you don’t think of a client server and access to the tables.

Having turned the free options, I stopped at the Cloud Code from Parse.com. In Parse, you can maintain an average project for free: 20GB for bases, 30 requests / second.

Backend wrote in ugly javascript. Each variable is “var”. Where is “string”? Where is “integer”? Why is it possible to use single and double quotes for strings ???

Unfortunately, clouds do not provide a complete development environment. It is necessary to subtilize yourself. Eclipse, Webstorm, Sublime Text refused to check my attempts. No “autocomplete”, only hardcore! I wrote JS code in NotePad ++. Debagger at Parse is not. The code is sent to the cloud, on the other side - the syntax check. Then, the Android client makes requests and catches errors from the server.

Technical support Parse - no, my questions on work and safety remained unanswered. At first I thought that they were puffing up their cheeks from ČSV, but now I suppose that they are not very competent. Tabular decrement () does not work for them, and this is the basic function of any database. Recently their tool (parse.exe) stopped working and demanded auto-update to the newest version. New, too, considered herself old. The working version was found only in the back streets of their site. And everyone who writes for Cloud Code has encountered this!

In order to break off those who put their nose into my backend, I used the obfuscator JavaScript . There are plenty of them on the market, but everything either works poorly or requires money. There is a free Yahoo.Yui.Compressor library for .NET, it removes all comments and renames the insides. You need only 3 lines in a C # project.

While I was messing with Parse, I had a thought: since 80% of electronics engineers do not understand how to copy projects on Android, you need to make a bridge between Windows and Android. I made FastLane - a primitive C # program. Selected files are compressed, encrypted on the computer and copied to the cloud. Cloud Code deletes files when Android takes them.

Parse excelled here, they released their SDK under .NET 4.5. Hm Imagine that Yandex Disk or Google Drive give you a 2 MB program and say: do not forget to install .NET 4.5 to 50 MB. On the forbidden Github, I found code for .NET 2.0, which works through REST requests, and adapted it.

I thought that users will appreciate FastLane. Yeah. No one moved beyond clicking the “Check status” button. And figs with him, but now I am the proud owner of my own DropBox. Wow

Finally, I did a license check in the backend, cloud tables of users and pirates

I put Gerber Light on sale. “Airplane with a bar, pool, cinema, blackjack and flight attendants”. Yes, I overdid it, but still, how will the project take off? I was sure of only one thing - the program will be bought while Android exists.

Two days later I looked at Parse and saw the registration of the first user-Light. On Google Play, monetary statistics were zeros (1-2 days behind), but in Google Merchant I saw 2,000 pesos from a Colombian. It turns out that not only cocaine and coffee are made there! Then pulled up America and Europe. A month later, about fifty users gathered, of which 40% did not pay for the purchase. I thought they had empty credit cards, so the payment failed.

Light on the situation shed Japanese. He bought Light, but it was painted, although Demo worked. Hieroglyphs have nothing to do with it. It turned out ... @ # $% Google! With Android 5.0, they made a “deprecated” bindService , which is used in the purchase mechanism! Those. 5 years all suited all and here on you. I collected the project with SDK and Tools a year ago, for targetSdkVersion = "21" / Android 5.0.1 and nowhere even vorninga! Who has not tested the purchase on 5.0 - he quietly fell on the headstock.

Another 10% of users fell off due to the fact that they are sending a “license response” with an overhang. It turned out that Google forms “response: extras (VT, GT, GR)”, although the logic should be “response | extras (VT, GT, GR)”. Google does not give examples and does not write about the colon. My BaaS, because of message.split ('|'), considered users to be pirates. In tests, Google will never send the developer “response: extras”. A developer can only accidentally stumble upon a live user with an appendage (I remind you, there are only 10% of them).

I fixed and started the statistics again. How many balls fit in the bus? How many electronics engineers on the planet? How many need a program? While the battlefield is hidden warfog.

Competitors

Recently, in a recall, an American wrote that due to Light restrictions, he had to buy a Pro, but he still puts 5 stars, because another program did not work correctly. At first I wanted to answer “Himself ... like that,” but then I realized that he meant something completely different.

On Google Play, I found “Gerber Viewer for Android” from the Norwegian guy Ngu Yen. An investigation revealed that his program was on Google Play in 2013. He then retired due to a low rating.Therefore, I did not see a competitor! And in October 2015, Ngu Yen is back. His application renders 30% of samples, no changes since 2013. Android lacks some functions for desktops, so Gerber logic and math are nontrivial. I am sure that Nguyen will not advance, but copy my decisions ... I foresaw this.

image

In November, one bad man gave me a deuce and an unfair review. For the same flaws, he put 5 stars Ngu Enu. Allow me to introduce: Alan Royston, Nguyen's boyfriend. Sweet couple entrenched in Sogeti. In vain they are so ...

And finally, the “stream of consciousness”

Starting the AndroCAD epic, I wanted to stake out the entire global market for CAD systems for Android. I am a modest guy, I do not need enough. I made sketches for several systems. Promoted with Altium Designer and Eagle.

The Altiumists are their own evil Buratinas. Files of circuits and printed circuit boards they store in five formats. I took up the simplest - text (ASCII). The catch came out - the components in the diagrams are represented by the macros “draw a connector for me here,” how to draw is not specified. Spent a lot of time on the GP laid out a rough draft. According to the installations, Altium was almost equal to Gerber, but according to Flurry analytics, Altium users are many times sounder than Gerber users. At every corner I wrote that conversion to ASCII is necessary. But of those who copied Altium files to Android, 90% are trying to open binary projects. If the company Altium does not help, then it is better to shoot the project, so as not to suffer.

The second system, Eagle, has a simple data format. There is even an Android viewer from the German. His project was abandoned for a year, and I decided to bend this sector under me. Unfortunately, in the winter he posted a new version. Defects of parsing and rendering remained. I am sure that the German will not be able to add mathematics, but I decided that together we would be close, so I closed the project.

Other CADs have complex structures. Some pack projects into zip variants and “file systems in one file”. If there is a desire - go ahead and with songs. But, IMHO, it does not pay off. The largest CADs have only 200,000 users each. Only CAD companies themselves can make a profit by creating a project for Android.

Some lyrics

Thanks to Habra, I learned about the FbStart program (Facebook Start).

image

They give mobile startups coupons for paid services from sponsors, their list is constantly growing. If you are not developing a whistle, then there is every chance of getting approval, because This is not a competition, but support for interesting projects for iOS and Android. There was no doubt about the victory, I received the answer in a week. As part of the Bootstrap Track, they gave virtual services for $ 20,000.

Among other things, free cash processing from Braintree and Stripe for $ 50,000 each. Stripe does not work with Russia. Braintree does not work with private traders. In general, useless, you need to somehow get rid of a symbolic amount. The most interesting thing is a Parse.com loan of $ 5,000, but it can be squeezed. I followed the link to receive a loan and filled out a Facebook questionnaire, in response to silence. A week later, he filled in again the next day - a letter from Parse, saying that the money was credited.

Results

At AndroCAD spent 4 months of working time, stretched for a year. Profit? I’m not going to become a millionaire, the project will pay off in 2-3 years. In general, I polish Gerber and start looking for a full-time job.

What are the conclusions from my writings?

1. It is not the gods who burn the pots, but the sun. Have an idea and want to implement it? Use the JDTFJ methodology.
2. And one soldier in the field. In the correspondence I use: “We”, “Our company”, “We have only 3 developers”, “We are a legion, for we ...” Oh! Now people will come with PGM. Firstly, “We” sounds respectable. Secondly, I have a task list for specialists of a different profile. I will not pass a single interview for these professions, but I did all the work without getting into the wilds. I say “We” rightfully. But relativism and the space-time continuum play against singles: what three will do in one month, one will do in three months, and so on.

Source: https://habr.com/ru/post/271557/


All Articles