AndroCAD: Rise to Power. Electronics and Android

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

On Habré success-story of "loners" often flash. About how one guy came up with an idea, and he decided to create a program / service / site. He saved up a mullion / took a loan, assembled a team / hired a company, directed half a year / year. And so, HE made the project ! Aw, kid!

I’ll talk about the project of a real loner, from zero to ... I don’t know. Neither the success nor the fail is observed. In general, entertaining reading for general development.

image

Next: VERY MUCH LETTERS.

“AndroCAD is me”

It sounds more modest, and true to all 146. I am a “jack of all trades” bored guy, in Russian - a full-stack developer. Electronic engineer (circuitry / programs for microprocessors) 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 Ring Road. The rest (Yandex, Mail.ru, Google, etc.) just started creating directories, and all requests were made online.

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

I gutted 2 phone directories for the PC and plundered 2 sites. Made a home-made database of 90,000 organizations (because SQLite was terribly slow). He plundered Google, Mail.ru and slept raster maps at 100 MB, with reference to GPS and addresses. Provided for classified advertising banners and other tricks for shoppers to pay for first places. Everything was smart and chic, given the communicators of the 2000s (ARM 400 MHz, 3 ”).

Bill Gates prevented me from becoming a millionaire. He closed Windows Mobile for bugs and technical backwardness. And I sawed the project on weekends and in the mood. This lasted for 2 years, instead of 4 months of intense. I was corny late to the distribution of elephants. I did not start spreading my first and last program for a 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, nor any other heresy were required. Only the planning, logic and basics of C #.

Fall 2014

I wanted something similar, something monumental. The dominant platform is selected - Android, I have zero in it. But here's the theme ... The market is full of “fappie-crappie-birds”, which they forget about after a week. I looked at the monitor and saw the design systems for electronic engineers: Altium, Mentor, Cadence. They have only one thing in common - the final result of labor. Projects are exported to 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

An idea was found. Of course, this is not a whistle-rattle with a million installations, but a niche product for 100,500 people. But he will provide a decent line in the resume. Ucamco (the creator of Gerber) has uploaded a 150-page specification to the network. There are no problems with English - he plowed at the bourgeois in Moscow R&D.

It only remained to build

image

The first step was to go to an 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 - knew only in theory.

The name of the project.

Now it’s clear to me how decent companies come from with such idiotic names - Tumblr, Flickr. Fucking cybersquatters! The domains on my 15-item list were busy, unused, and were “parked”. Many with contact soap and price. Juh them with butter! Not a penny to extortionists! Let their children go hungry! Only AndroCAD.com was free. However, the name reflected the essence: Android + CAD, by analogy with Automotive + CAD (AutoCAD).

Domain purchase

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

Free website hosting

With this tight, despite dozens of options. Some give for 3 months. Some are often unavailable. Some load ads. One I caught while loading someone else’s Google analytics to my pages. For what? X.III. My current host (50webs.com) is stable, has a free tariff for a year. There are many limitations, but for a simple site, it’ll do. A year later they reported that they give another free year.

In order for the site to appear on the Internet, you need to register the name of your domain with the host, and enter the host's DNS with the registrar. Within an hour, the site is available worldwide. The content was written by myself (I hope it turned out no worse than that of the Minister of Sports) .

Programming environment

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

  • The choice of Eclipse and Java from ten options, in the names of a word about Android;
  • Manual registration of system paths (what year is it ???);
  • Downloading modules from non-working https (not a word anywhere that needs to be replaced with http);
  • Errors, crashes, etc., etc.

It would seem that the billionth corporation, throw a hundred kilobaxes on your Visual Studio, so that a person launches an executable and in half an hour starts coding! But in the early years, Google never got a brand Studio.

Because of this “developer-friendly” atmosphere, I cooled down to Android until 2014. By then, Google had started spreading 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 install correctly and did not digest examples for Eclipse.

Studio may have been fixed when some people broke away from reading “How Google Tests Software” and stopped asking questions about the number of balls in 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 change during debugging. Cool, if it really works.

Actually development

I use the hundredth part of the capabilities of Android. Without “patterns”, without “trees”, without “sorts”. Nothing that they like to blame for interviews. The program should work stably, and more it owes nothing to anyone.

After 2 months, I made the 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. Take a look inside. APK says: Yes, I am protected, but see the class “SecretGenerator”? Poke it! And look at the “Validate” activity with the “Access” button and the “Unlocked” pattern.

For fun, I wrote “Dummy Obfuscator”

He randomly renames classes, activities, and resources.

image

Dummy is a primitive program, but it will complicate the work of hackers at times. An interesting side effect is that due to the name change, all resources get a new integer-ID and mix up when building the APK. It's like a fingerprint to keep track of pirates. Can bring Dummy to mind and go on sale?

But “Dummy” did not calm paranoia. Google uses the LVL protection mechanism to check purchases. There are tools that look for protection signatures in the APK and make them a substitute. What to say about hackers? Hedgehog it is clear that only a check on their licensed server can complicate their work. 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 AndroCAD website and saw Gerber Pro for sale there, tied to one device. In a month, the Chinese and Americans bought several licenses. Paid through Skrill and PayPal. PayPal DISAPPOINTLY DISAPPOINTED when I had $ 70 out of $ 100 and then $ 50. What is the trick? When the fourth devaluation of the ruble began, Paypal forbade the Russians to have foreign currency accounts. They convert the bucks that came to you into rubles, and every day they count your dollar bill from them. The ruble falls by 40% - you have less bucks by 40%. Okay, I have $ 100, and who had $ 10,000 ??? Skrill does not have this trick, but it takes only 20% of sales.

Resting on my laurels, I wondered if I would accumulate a decent vacation by the summer, or would I have to #KrymNash, in the company of 1,500,000 travel abroad officials, police and military? Horror.

We need mooore gold, URGENT!

I have embedded buttons of payment systems in the site, but no progress has occurred. I wrote about the program in a dozen foreign forums - zero sales growth.

Application localization

Google statistics indicate that the main installations of Gerber Demo come from the United States and India, Russia in sixth place. Of the top five, Pro was bought only by Americans. I read that translations greatly increase the influx of users. I came across a note on collective free translations of crowdin.com and cucumis.org. It seems like, the people translate other people's texts in exchange for their translation.

I decided to get a German and Italian translation. I translated dozens of lines in games and programs qualitatively (EN-> RU). In response - an ear from herring. At this time, Alkonost rolled up to me in English, I wanted the contacts of the one who shoots video and makes ads in AndroCAD. But I did not give myself away, and to pay $ 0.10 for each word is somehow dishonorable. I don’t want to transfer the contract for the sale of the homeland of oil!

I posted I will announce that for the transfer I will give Gerber Pro. Italy, France, Argentina responded. When I uploaded the translation to Play, I suspected something was amiss and asked for screenshots of how the authors looked. They have the Latin alphabet with a pinch of native characters. When transferred, they are distorted or disappear. I changed the “default language” in notepad and browser and it all worked out. Transfers did not affect the “installs”, and 2-3% remained per country. The conclusion is all this nonsense.

Waiting for the Big Dough

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

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

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

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

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

image
Big brazza is watching ya!

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

The second hit was the Gerber Demo usage 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 some CAD schemes. 50% of users generally wander aimlessly around the file system.

image

Electronic engineers are the backbone of civilization. But how stupid they are! Do not know what files they work at work? They think that after installing Demo a miracle will happen and their projects will appear on the tablet? Miraculously, only hours from photos can disappear! I realized shooting lunar rovers and rovers do in Hollywood my PRO concept for sales fell apart.

I put Gerber test files in the .APK, they are copied to the memory card the first time I start. Even after that, 50% of users could not open at least a test file. Some persistently poked at% holiday% .JPG and% manual_androiddevice% .PDF. Facespalm and the curtain.
Habralyudi can advise that it is necessary to put the filter of files, and not justify 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 the decision of the Congress of the Party of the XXVIII Convocation. There are even TXTs, single-letter and no extensions.

Conclusions made at that time

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

I had to go down from heaven to earth, uncover the keyboard, cut Gerber Pro to Gerber Light and write a license 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 didn’t we disappear?

Own server from scratch is cool. Deploy, imagages, mapping, Linuh, GVA, PHP and so on. I was about to spend a month studying, but accidentally saw that there was a simple way out.

Some "cloud storage" can run your scripts on their side (fashionable BaaS - backend as a service). True, your code and data will be accessible to outsiders. If they slam their ears there, then your data will merge the hackers. You can also crash if you do not think of “client-server” and access to tables.

Having turned free options, I settled on Cloud Codefrom Parse.com. In Parse, you can service an average project for free: 20GB for databases, 30 requests / second.

The backend wrote in ugly JavaScript. Each variable is “var”. Where is the “string”? Where is the “integer"? Why can single and double quotes be used for strings ???

Unfortunately, clouds do not provide a ready-made development environment. Need to be smart yourself. Eclipse, Webstorm, Sublime Text refused to check my attempts. No “autocomplete”, just hardcore! I wrote JS code in NotePad ++. Parse does not have a debugger. The code is sent to the cloud, on the other side is a syntax check. Then the Android client makes requests and catches errors from the server.

Parse technical support - none, my questions about work and safety were left unanswered. At first I thought that the cheeks from the FAC were swelling there, but now I believe that they are not very competent. Table 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. The new one also considered herself old. The working version was found only in the back streets of their site. And everyone who writes for Cloud Code faced this!

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

While I was busy with Parse, I had a thought: since 80% of electronic 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 program in C #. Selected files are compressed, encrypted on your computer and copied to the cloud. Cloud Code deletes files when Android picks them up.

Parse excelled here too; 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 at 50 MB. On forbidden Github, I found code for .NET 2.0 that works through REST requests, and adapted it.

I thought that users would appreciate FastLane. Yeah. No one has gone further than clicking the “Check status” button. Yes, 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. “Aircraft with a bar, pool, movie theater, blackjack and stewardesses.” Yes, I went too far, but still, how will the project take off? I was sure of only one thing - they will buy the program as long as Android exists.

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

The Japanese shed light on the situation. He bought Light, but it crashed, although Demo worked. Hieroglyphs have nothing to do with it. It turned out ... @ # $% Google! With Android 5.0 they did “deprecated”bindService , which is used in the purchase mechanism! Those. 5 years, everyone was happy with everything and here on you. I built a project with the SDK and Tools a year ago, for targetSdkVersion = "21" / Android 5.0.1 and there’s not even a vorning anywhere! Who did not test purchases on 5.0 - that imperceptibly got to grandmas.

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

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

Competitors

Recently, in an recall, one American wrote that due to Light restrictions he had to buy Pro, but still he puts 5 stars, because another program did not work correctly. At first I wanted to answer “Itself ... such”, but then I realized that he had in mind quite another.

Google Play found “Gerber Viewer for Android” from 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 returned. His application draws 30% of samples, no changes since 2013. Android lacks some features for desktops, so Gerber's logic and math are non-trivial. I am sure that Nguyen will not advance, but copy my decisions ... I foresaw this.

image

In November, one bad person gave me a deuce and an unfair review. For the same flaws, he put 5 stars Ngu Enu. Let me introduce: Alan Royston, Nguyen's friend. A sweet couple dug in at Sogeti. In vain they are so ...

And finally, the “stream of consciousness"

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

Altiumists are themselves evil Buratins. They store circuit and circuit board files in five formats. I took up the simplest - textual (ASCII). It turned out a catch - the components in the circuits are represented by macros “draw me a connector here”, how to draw is not indicated. Spent a lot of time, on the GP posted a draft sketch. By installs, Altium was almost equal to Gerber, but according to Flurry's analysis, Altium users are many times dumber than Gerber users. On every corner, I wrote that conversion to ASCII is necessary. But of those who copied Altium files to Android, 90% try to open binary projects. If Altium does not help, it is better to shoot the project so that it does not suffer.

The second system, Eagle has a simple data format. There is even an Android viewer from a German. His project was abandoned for a year, and I decided to crush this sector for myself. Unfortunately, in the winter he posted a new version. Parsing and rendering defects remained. I am sure that the German will not be able to finish the math, but I decided that the two of us would be close, so I closed the project.

Other CADs have complex structures. Some package projects in a variation of zip and “file systems in one file.” If there is a desire - go ahead and with the songs. But, IMHO, this will not pay off. The largest CADs have a total of 200,000 users. Only CAD companies themselves can make a profit by creating a project for Android.

Some lyrics

Thanks to Habr, I learned about the program FbStart (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-rattle, then there is every chance of getting approval, because This is not a competition, but the support of interesting projects for iOS and Android. There was no doubt of victory; I received an answer in a week. As part of Bootstrap Track, they provided 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 owners. In general, it’s useless, you need to somehow get rid of a symbolic amount. The most interesting thing is a $ 5,000 Parse.com loan, but it can be aggravated. I followed the link to get a loan and filled out a questionnaire on Facebook, in response to silence. A week later, I filled out again the next day - a letter to Parse stating that the money had been credited.

Summary

AndroCAD spent 4 months of working time, stretched over a year. Profit? I won’t be a millionaire, the project will pay off in 2-3 years. In general, I will polish Gerber and start looking for a full-time job.

What are the conclusions from my writings?

1. Not the gods burn the pots, but the sun. Have an idea and want to implement it? Use the JDTFJ methodology.
2. And one warrior in the field. In correspondence I use: “We”, “Our company”, “We would like to enslave this world, but our team have only 3 developers”, “Our name is legion, for we are ...” Oh! Now people with PGM will come running. Firstly, “We” sounds more solid. Secondly, I have a list of tasks for specialists of different profiles. I will not pass a single interview in these professions, but I did all the work without getting into the jungle. I say “We” with every right. But relativism and the space-time continuum play against the loner: what three do in one month, then one does in three months, and so on.

Also popular now: