雑談で生きていく

Tamuroというボイスチャットアプリを開発しています。興味ある人いませんか?連絡ください。 https://tamuro.org

Janus Gateway のDocker Imageをアップデートした話

半年ほど放置していたJanus Gatewayのdocker imageをアップデートしたhttps://github.com/atyenoria/janus-gateway-docker。今現在の段階ではJanus-Gatewayを商用環境で使うのは正直怖い。予期せぬクラッシュが原因。今現在ライブセミナーシステムを作成しているが大人数で接続した後につなぎ直しを激しくすると平気でクラッシュしたりする。本家はそのクラッシュに関するパッチを作成https://github.com/meetecho/janus-gateway/pull/403 している。早く導入されるのを祈るという人様任せ。自分が入ってがっつり修正するほどの力量は持ち合わせていない。C言語歴はそこそこ長いので、何をやっているのか少しわかる程度。Beamなどライブストリーミングサービスやslackで安定運用させているのはすごい技術力。最近知った、Janus利用例の https://shou.tv/ (ゲームストリーミングサービス)の開発者もすごい。

 

WEBRTC SFU は商用・OSS色々選択肢があるが、自分を含むスタートアップ系などでそこまで金をかけられない場合はOSSで、それ以外は商用でいいんじゃないかと思う。安定性はやっぱり大事。OSSを選択した場合は金をかけても解決できない場合があるもしれない。janus gateway作者に金積めばできるかもしれないが、そうするなら安定した商用WEBRTC SFU買っても良いと思う今日この頃。

 

WERTCクライアントサイドの開発も相当てごわい。react-nativeでwebrtc-sfu を動かしたサンプルコード  https://github.com/atyenoria/react-native-janus-gateway-webrtc-video-chat を相当前に書いた。これ自体はそこまで難しくなかったが、これをベースにしたビデオ会議システムのモバイルバージョンがくせもの。web版のReact.jsをjanus-gatewayにつなげるのは難しくなかったがiOSAndroidはとてつもなく大変だった。Androidに関しては挫折した。iOSに関しては相当時間を費やして、なんとか動くところまで持って行った。自分のこのプロジェクトの役割は収益化するところまで。なんとか頑張りたいところ。

 

以上、docker imageのアップデートからwebrtcのモバイルクライアント開発も手強いよ という話をした。以上、雑談。

 

 

 

 

オフショアに関して書く②

最近オフショアにはまっているので前回に引き続きもう一つ記事を書くことにする。自分が対象にしているのは個人レベルの創作活動の一環で手助けを借りる場合に使うオフショアである。よくあるベトナムで日本法人作って、現地のブリッジエンジニアを利用してプロジョクトを進める話とは違う、規模が違う。

 

コミュニケーション言語は英語のみを使う。幸いなことに英語は昔からの趣味言語だったので支障は全くない。文章は読む速度は日本語とほとんど変わらない。ただし、英語の場合は日本語でできる漢字からだいたいの概要を掴む斜め読みができないので、なんだかんだいって日本語で読む方が少し早い。ライティングスキルはそもそも文章はそんなに書き慣れていないので、英語でも日本語でも書く速度はそんなに変わらない。

 

しかし、言語に関しては落とし穴がある。自分が使う英語がは我流なので、そもそも100%正確でない。最近あったのが、skypeでディスカッションしている際に、your english is not good, so I can't understand what you mean的なことを言われた。おっしゃる通りである。シンガポール人だったと思う。発音は勉強せずに感覚で覚えたので全く意味が通じてないことがよくある。

 

ここで、自分が気づいたことがある。この場合に相手がどういう対応をするかだ、①そのままスルーして自分のペースに引き込む人②正しく理解できるまで何度ももう一度言ってくれませんかという質問をしてくれる人③文脈を読んで、こういうことを言っていますかという仮説思考をしてくれる人。だいたいこの3つにジャンル分けされる。自分は②か③と仕事をしたいかな。①の場合でも自分は無理やり自分のペースに引き込もうとするけど。

 

相手にわかりやすく自分の言いたいことを伝える能力が重要だと感じる日々この頃。このブログひとつとって見ても、自分の文章力、表現力が露呈している。質より量をこなして、スキルアップしていきたいと思う。以上、雑談。

 

 

Revealed: The Do’s and Don’ts of Voice Conference Calls

Conference calls have become a gold standard in many industries. Whether you want to connect with employees, clients, or partners across the globe, you can rely on the innovative technologies that have made connecting with others easier than ever. That said, with no face-to-face contact, it’s very difficult to take the conversations forward, navigate complex problems, or deal with indifferent personalities on voice conference calls. Therefore, for businesses who want to remain ahead of times, it is imperative that they train their employees about conference calls. The good news is there are several to-do tricks which you could employ as a business owner to improve the effectiveness and efficiency of your conference calls. Use them and you could save the participants from unwarranted embarrassment. Do’s First of all, we take a look at the do’s of conference calls. You can use all of them before the start of each conference call you make or are participating in to have a smooth experience. Use Your Microphone efficiently You are not alone in the meeting room. There are others who are itching to share their ideas as much as you do. Once you have spoken up, mute your microphone so that others won’t get distracted by the background noise. It doesn’t matter whether you are alone in the room or not but you have to use your microphone efficiently. Test Your Microphone beforehand If the meeting that you are going to attend is important, make sure to test your microphone beforehand. Call a colleague to check the call quality, voice clarity, and other such factors relating to your call. Some voice conference programs also give you the option of taking a demo to satisfy you with the call quality. Believe me, there is nothing worse when you are sharing something critical and those on the other side can’t listen to it. In the best case scenario, those on the other side will learn parts and bits of your argument. In the worst case scenario – and especially if you don’t hold a high position in your organization, they will simply turn off the call. Better be safe than sorry. Introduce Yourself It’s a no brainer but you have to introduce yourself before starting or taking part in an argument. Consider something like “Hi, it’s Michael, I want to add …” before jumping on the bandwagon. There are several programs who notify each talker who is talking at what particular moment, others do not. Hence, be civil and introduce yourself. Call Roll at the beginning You want to make sure that everybody is giving his or her input. That is the basic purpose of a conference call: to get feedback from every participant. One way to make sure that everybody is giving his or her input is to call rolling at the start of the conference call. List down the names that are in attendance. Once the call has begun, mark a dot at the end of each name every time they make a comment. If you note that some names haven’t got any dots at their end, ask them to share their expertise. Don’ts Now that we have taken a look at the do’s, let’s turn our attention to the don’ts of voice conference calls. If you ask me, they are more important than the do’s because if you do them, it will leave a bad impression on your audience. No distractions during the call There’s nothing worse than talking to a person on a conference call who is busy issuing orders to his subordinates. Especially if you are not talking to your employees on the conference call, talking to those around you while being on a phone call sends a bad message. If there’s something urgent, you should ask the excuse and mute the microphone before proceeding on to deal with it. You can check your Emails provided they don’t divert your attention from the call at hand. Don’t Interrupt others The person on the other side might be talking bullshit but you aren’t sent by the providence to let him know that he’s insane. Even if you think that the call is getting out of hand, wait for the other person to complete his turn before speaking up. When many persons start speaking at the same time, it won’t let anybody to hear what the other one is saying. Hence, if you want to save yourself from pandemonium during conference calls, better wait for your turn before speaking up. Don’t backpedal for latecomers Whether you have been conferencing for the first or the umpteenth time, all of the participants should be aware that if they come late there would be no rehearsing of the talks already done. The latecomer might be your friend, but if you start to review the previous discussion for him, it would undoubtedly leave the rest of the team unfazed. To prevent this from happening, ask everybody to be punctual. Conclusion Thanks to various freelancing platforms, people like to work from their homes at different schedules from different parts of the world. As a business owner, it is necessary that you gather each of them once in a while to streamline the whole process. For this purpose, voice conference calls are a blessing. Use them efficiently and you could send your message across loud and clear.

How Conference Calls Benefit Businesses

 This is a blessing in disguise for small businesses because they don’t have to rent space for employees but can still get their work done in record time. There are companies out there who encourage their employees to work from home. All of this might sound strange to a business owner from the 20th century but it is quickly becoming a norm these days. The age of virtual workplace which was dismissed as a myth a few years back is dawning in front of our eyes every day. Conference calls have a huge part to play in the coming to the age of this era of virtual workplaces. For, the one major predicament which 20th-century businesses faced was to connect with employees located at disparate locations. Hence, they favored that all of the employees were under one building for easy communication. However, thanks to conference calls, a business owner in America could communicate with his employee based in India as easily as two persons who are located in two rooms. All he has to do is to have a stable internet connection (a must-have for any business) and some upfront investment in a Conference Call Program and bingo! He could communicate his message across the globe with aplomb. Here’s how conference calls benefit businesses: Conference Calls save Your Money Travel costs are increasing every day. With a conference call, however, not only can you maintain relationships with clients but also stay in touch with your colleagues on a permanent basis. Also, if you have multiple employees working at the same task from different and remote locations, you can get all of them together on a conference call to discuss what you expect from their work. Yes, you might have to pay some initial costs but they would dwarf when compared with the costs you are saving. Think of the electricity bills you might have to pay if all of your employees use your premises for recharging their digital devices. Think of the investment you’d have to make to make your premises presentable to the clients. Apart from cost-savings, conference calls can also help in decreasing the carbon footprint of your organization. A recent research suggests that if you drive for one hour for a meeting, you are using the same electrical power as that of 1,000 hours of conference calls on the web. Thus, if you want to do something that is good both for your wallet and the environment, conference calls deserve your attention. You can connect with far-flung employees Although there is no substitute for employees who work at the office, some circumstances force employees to quit their daily routines and do work from home. You might want to retain valuable employees who are saying goodbye to the office life for a family problem. For, they still have to earn a living and both of you could benefit by going the route of conference calls. With conference calls, not only remote employees but also telecommuters can stay connected and give their insight on day-to-day operations of the organization. Also, while finding new hires, you won’t be constricted by the geography. Similarly, while launching a new product or rebranding an existing one which isn’t meeting your expectations, you don’t have to wait for quarterly get-togethers. All you got to do is to prepare a slideshow and showcase it to the participants of conference calls to get their feedback. Develop work-life balance Some companies have operations that require extensive travel on the part of employees. Their workload gets doubled when they have to report office the very next day after visiting a site or meeting a client. You could take some travel hours off the to-do list of your employees by giving them the option of conference calls. You might not be able to eliminate travel needs altogether but you could, at least, reduce them. In this way, not only the cost but also the stress - which comes from traveling frequently, will decrease. Less Excuses When was the last time an employee or a client or a partner told you that he couldn’t attend a meeting due to bad weather, long drives, or canceled flights? All of us have been through this situation and we know how testing it is to be on the receiving end. Thankfully, conference calls have come to our rescue from this uneasy situation. No matter where your call partner is stuck in, all he has got to do is to pick up his phone and start talking. In this manner, you could make sure that all meetings start on time whether or not the participants are in the building.

オフショア開発に関して書いてみる

現在自分は個人でオフショア開発を行っている。本当に便利な時代になったものだ。インターネットにさえ繋がっていれば、いつでも世界中にいる開発者と連絡がすぐに取れる。連絡が取れるようになったのは数十年前から当たり前かもしれないが、すぐに目的のリソースを見つけれるようになったのはここ最近の話だろう。

 

例えば, 自分で作ったsketch fileの修正とコンサルティングをお願いしますというのを$20程で依頼できる。お試しに10人程に依頼するとトータルで2万円程。デザインの知識はそもそもそこまで持ってないので色々ダメだしをしてもらった。配色やレイアウト。skypeで画面共有をして直接修正してもらうとかなり助かる。プログラミングでいうペアプロと同じ原理。

 

最近、日本でもクラウドソーシングブームが来てる?クラウドワークスやランサーズといったサービスで主婦でも月収50万ってよく広告売ってるやつ。本当に稼いでるひとはいるけどボリュームは少なそう。ウクライナやインドはオフショアで産業がもっと昔からあったようで日本よりは確実に成熟している(慣習的な意味で)。クラウドワークスでフリーランスとして登録している人は海外製のupwork, freelancer.comに登録してみると良いかもしれない。自分が持ってるスキルが尖っているならすぐに仕事はとれる(はず)。汎用的なスキル、例えば誰でもかけるようなライターとして登録したら買い叩かれる可能性が高い。

 

自分は主に発注側としてつかっているが、使い始めたきっかけはGithub経由でソースコードをあげてたらupwork経由で仕事をしてほしいという依頼が来たから。半年程前。値段は5万だった、内容から行ったら自分の見積もりでは2日程で終わるはずだったので悪くはなかった。しかも、スキル的に自分が今積極的にやっているWEBRTC絡みだったので、むしろ進んでやりたかった。

 

この案件に関しては、結果としては報酬の半分2万5千円しか支払われなかった。自分が書いたコードにバグがあるのが理由。確かにバグがあったが、そのバグを100%防ぐには用意されたアーキテクチャーでは不可能だがそれを咎められた。そのことを追求したが相手側が全く折れる気がなかったので、説得するのを諦めた。時間を無駄にしたくなかったからだ。このような話はどこにでもよくある。今回は趣味レベルの金額だったので全く問題ないが額が増えれば笑い話ですまない。

 

発注者側として様々なタスクを作っていくと、要望(作業工程)を正確に書くのは非常に難しい。正直、必要以上に発注書作りに時間をかけたくないというのが本音。重要なところだけ書いてあとはできるフリーランス達に”これでいいですか?”という質問を待っている。この手法をよく使っているがうまくいくときも、いかない時もある。うまくいくパターンはフリーランサーのスキルが非常に高い場合。自分より全然できるやつなんて腐るほどいることに気づいた。

 

というわけで、プロジェクトを成功させるにはできるやつのフィルタリングが重要だとわかった。これに関しては今行っているフィルタリング手法は。①Githubみる。書いてるコードと守備範囲みればその人の力量はだいたいわかる(偽造されてなければ)。②今までの実績。正直 Githubアカウント持ってないないやつでも異常にできるやつがいる。今手伝ってもらってる中国の方は持ってないが自分より圧倒的にコーディング早い。勝てない。実績はサービス内での実績を当てにしている。このアプリ作りましたよってアプリのURLを10個ぐらい投げてくるおっさんがよくいるが、だいたい外れる。2度程、試しにしたら炎上した。あの手の人にはもう頼まない。

 

まとめると、最近オフショアを始めるようになって、世界は広いということに気づいた。自分より圧倒的にできるやつがたくさんいる現状を知り。自分自身の成長戦略を考えるきっかけにもなった。自分の得意かつやりたいことを突き詰めて、あまり得意でないことは人に的確に頼めるスキルを身に付けたい。以上雑談。

 

 

How to Save Yourself 15 Hours per Month with Offshore Development As a businessman

you need freedom to work on the things that matter most, and that means the things that help your business grow. As your company starts to grow and you want to dive into offshore development, there are a few tools you need to help you add virtual teams, manage offshore development, and outsource tasks. Offshore development can be aided with virtual bookkeeping a process that lets you give the hassle and stress of bookkeeping over to a professional. As you venture into offshore development, you should focus on the most important business tasks, not the monetary details. Any businessman can attest to the fact that every hour is precious. When you are first starting out, it seems there are not enough hours in the day. And as your company grows, and with it your expertise, it seems that finding the time to do those extra tasks like accounting paperwork are an extraordinary burden, especially when you would rather spend your time travelling and enjoying the freedom that accompanies creative entrepreneurs. Thankfully, you can save yourself 15 hours per month with your own online bookkeeper. As a creative businessman the last thing you need is to pile “accounting paperwork” on your to-do list especially when your goal as an entrepreneur is to enjoy freedom to travel and not be held back. It is especially important that you be able to focus on the work that you love and not on the nitty gritty of running business accounts. Thankfully there is a solution. With offshore bookkeeping you can enjoy VIP book-keeping packages wherein certified bookkeepers do everything for you under one roof. You can find professionals who handle consulting as well as accounting services and PAYE and VAT services all for a flat fee. With proper offshore assistance, you can manage your offshore development virtually. An online bookkeeper can help your business run smoother and turn a higher profit by giving you more time to dedicate to the daily management of the company and ensuring fewer mistakes are made. Let’s face it: bookkeeping for many is like going to see your dentist. No one wants to take the time that is required and dedicate 15 extra hours per month to handling expenses and accounts and bank statements, but without it, your business will fail. When you hire an online bookkeeper, you give yourself more time that you can dedicate to running your daily expenses. You can avoid wasting time and being distracted with accounting paperwork and instead make sure that you are in the front of the business, not burdened in the back end. When you hire your own online bookkeeper, you save money compared to the cost of hiring a full time employee with benefits. You also save on the cost of lost productivity which accompanies employees not on your payroll. By outsourcing your bookkeeping needs, you get to pay a flat monthly fee to cover all of your needs, no more. You also get the peace of mind that experts are on your side who know how to properly handle your business and which practices are best. You also get work from a more focused staff. Bookkeepers who are working on site, in the middle of your business’ daily routine may find it difficult to focus on the task at hand. But when they work off site they are better able to focus on your books. In addition to this, outsourcing your bookkeeping needs places your financial records in the hands of a virtual team that thrives on teamwork. You get the benefits of an entire team working and double checking your books, making sure that no mistakes were made. This also ensures there is a separation of duties among your staff and that the people running your books are credible. Your company enjoys access to the top accounting software and operational systems in the industry, software which your company might not be able to afford on its own. This software keeps up to date with changing regulations and tax laws, giving you the cutting edge. These systems also keep extraordinary records, making sure that if ever you need to supply evidence of anything, you have it.

Remote working

How to run a an offshore team Remote work started to be more and more popular these days. And most people see this way of working as a receipt for disasters, and some will justify this by saying that nothing can replace face to face contact, and they might be right. But managing a team remotely may seem harder than it actually is. Simply because people have the liberty to organize their daily agenda and focus on delivering the desired results, without the pressure of having the boss next door this may turn to be a more efficient management process than actually being in the same location. However there are some ground rules one needs to follow in order to effectively manage a team remotely. Knowing the team is the first important aspect. Is recommended to have an initial team meeting with the scope to set expectations, determine objectives and identify tasks and responsibilities for each team member. If a face to face team meeting is not an option, using a video conferencing system is a great alternative for the initial meeting. Once everyone knows their role and responsibilities it is very important as a manager to ensure the team follows through with their commitments. Requesting for a daily activity report is one way you can keep track of the activity. Depending on the line of work specific communication channels may be identified to keep track of the team’s performance. The most common are standardized activity reports sent by e-mail at the end of every shift to the manager, detailing the tasks performed during that day. To ensure performance standards are met, make sure that the appropriate feedback is delivered once areas of opportunities are identified along with the necessary guidance and actions to be followed. It is critical to provide both individual and group feedback in order to drive consistency. E-mails may not always have the desired results so the best option is to schedule regular one on one sessions and team meetings via video conference system. Also, have an instant messenger chat and phone lines available to be able to communicate with your team at all times. Rotate tasks between team members. To be sure that you have a term of comparison you need to delegate different task to your team. This way you can see different results and will help you make a clear idea about your team’s capabilities. As well every two months you should make onsite visits. This is very important and will show that you are an active part, you do exist and you are aware of what’s going on. Also this will enable you to consolidate the existing relationship with your team and a great chance to meet any new employee. These visits will have a strong impact and will lead to an increase of your overall performance. A big mistake that you can make is to over manage your team. Summoning meetings every hour asking them what are the status and lose a lot of time clarifying what was already discussed in your daily agenda will cause an over manage effect that can only do harm to your team. You must show to your team that you have trust in their capabilities and let them do the job they were hired for. Breathing in their neck every hour is not that different than being there to see what they are doing. Make a yearly performance evaluation. Even if you are not on site, people still need recognition. So you need to talk about their accomplishments and their failure, make a fair analyze and discuss with your team over the results. Congratulate for the objective that were reached and talk about what needs to be done for improvement. A fair evaluation will also create competitively among the team and will provide a clear picture of where you are standing as a team. Use employee monitoring tools to track productive hours and key performance indicators. You need to know exactly how much time your team is dedicating effectively for the task they need to do. A lot of precious time is lost if you can’t track these. Setting key performance indicators and allocate a time in which it needs to be done will grow your overall performance and will allow your team to be more organized. Provide regular support. Make sure that you are there for your team every time they need it. Offering your expertise and support will make them appreciate you and they will feel that you are reliable. Sometimes the support provided can stop a bad thing from happening because of the lack of knowledge. Establish a leader within your team. This can be the strongest link between you and your team. Having a proficient leader can assure you that your message is distributed correctly and the meaning of it remains the same.