{"id":32886,"date":"2017-08-17T13:29:52","date_gmt":"2017-08-17T20:29:52","guid":{"rendered":"https:\/\/blog.xamarin.com\/?p=32886"},"modified":"2017-08-17T13:29:52","modified_gmt":"2017-08-17T20:29:52","slug":"speech-central-makes-easier-browse-internet-hands-free","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/xamarin\/speech-central-makes-easier-browse-internet-hands-free\/","title":{"rendered":"Speech Central Makes it Easier to Browse the Internet Hands-Free"},"content":{"rendered":"<p>\t\t\t\t<a href=\"http:\/\/labsii.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Labsii<\/a>\u00a0is a Serbian-based software development firm focused on creating better accessible, utility-driven apps\u00a0for everyday tasks. Their\u00a0<em>Speech Central<\/em>\u00a0app allows users to use remote controls, such as those on headphones or Bluetooth commands, to browse the web, select articles they&#8217;d like to listen to in depth, and initiate text-to-speech capabilities.\u00a0From freeing commuters trying to keep up with\u00a0the latest headlines to helping families find and read the best recipes\u00a0in the kitchen and\u00a0assisting vision-impaired\u00a0individuals, <em>Speech\u00a0Central<\/em> strives to allow\u00a0anyone to harness the wealth of\u00a0information on the internet and stay up-to-date\u00a0on topics that matter to them.<\/p>\n<p>Initially launched as a Windows 8.1 app,\u00a0<a href=\"http:\/\/labsii.com\/products\/speech-central\/\" target=\"_blank\" rel=\"noopener noreferrer\"><em>Speech Central<\/em><\/a>\u00a0now covers\u00a0nearly every platform that C# (and\u00a0Xamarin)\u00a0can reach. Today,\u00a0Labsii\u2019s\u00a0founder and lead developer, Ivan\u00a0Icin, joins us to share how he\u2019s grown the company and\u00a0user base\u00a0to include\u00a0Windows 10 UWP,\u00a0Android,\u00a0\u00a0iOS\u00a0(including\u00a0tvOS\u00a0and\u00a0watchOS), and\u00a0Mac.<\/p>\n<h3>Tell us a little bit about your company and your role.<\/h3>\n<p>Labsii\u00a0focuses\u00a0on the consumer market. All\u00a0of\u00a0our apps\u00a0have one common theme:\u00a0great design and new interaction models\u00a0that\u00a0save time. We&#8217;re\u00a0empowering\u00a0people to do\u00a0things\u00a0not only\u00a0differently,\u00a0but\u00a0better.\u00a0<\/p>\n<p><em>Speech Central<\/em>, one of our flagship apps, plays a huge part\u00a0in our goal of providing\u00a0value to\u00a0our customers\u00a0and\u00a0making\u00a0the world a better place.\u00a0<\/p>\n<p>I\u2019ve been developing software for almost 10 years, primarily using C# and .NET.\u00a0My\u00a0interest in\u00a0apps\u00a0started when I\u00a0became a fan of the\u00a0early stage Mozilla Firefox project and\u00a0later\u00a0actively contributed\u00a0to its UI\/UX. Around\u00a0the same time,\u00a0I started\u00a0finding ways to\u00a0improve\u00a0internal\u00a0processes\u00a0at my \u201creal job,\u201d\u00a0including learning SQL and C#.\u00a0Those\u00a0two stories merged when\u00a0I\u00a0founded\u00a0Labsii.<\/p>\n<h3>Tell us about <em>Speech Central<\/em>.<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/44\/2019\/03\/Picture11.png\" alt=\"Speech Central on iPhone\" width=\"200\" class=\"alignright size-full wp-image-32891\" \/>Our\u00a0development started with a File Manager Desk &amp; Archive\u00a0desktop app\u00a0(built with C#). We took what we learned from our experiences and launched\u00a0Speech Central, then called\u00a0\u201cShare to Speech,\u201d more than three years ago.\u00a0It\u00a0was originally\u00a0a personal project; I\u00a0wanted\u00a0an\u00a0app that\u00a0would allow me to\u00a0easily\u00a0read\u00a0internet articles and webpages aloud.\u00a0We\u00a0based the\u00a0\u201c1.0\u201d\u00a0user experience and design\u00a0on my own experiences,\u00a0needs, and wants.\u00a0<\/p>\n<p>When\u00a0we\u00a0started, ours\u00a0was the only app that\u00a0offered\u00a0this level of\u00a0robust text-to-speech\u00a0capabilities, and,\u00a0while\u00a0other\u00a0similar\u00a0apps have\u00a0emerged,\u00a0we&#8217;ve kept our\u00a0edge\u00a0by adding new interactions\u00a0and\u00a0convenient features\u00a0that other apps don\u2019t\u00a0offer.<\/p>\n<p>We\u2019ve made many\u00a0improvements and changes over the years, but\u00a0our\u00a0expansion to\u00a0nearly all platforms\u00a0has been the most\u00a0important\u00a0part of our\u00a0evolution.\u00a0Today,\u00a0<em>Speech Central<\/em> is available for\u00a0Windows (with the entire\u00a0device family covered from phone to desktop),\u00a0Android,\u00a0iOS,\u00a0Mac,\u00a0watchOS,\u00a0and\u00a0tvOS.<\/p>\n<h3>What do your apps allow users to do?<\/h3>\n<p><em>Speech Central<\/em> is the only app that delivers interactive web on-the-go. Most people access the web via\u00a0a\u00a0device\u00a0screen, but you can\u2019t really\u00a0do\u00a0that while running, driving, or\u00a0moving through\u00a0your daily activities.\u00a0From the app interface, our users can quickly add favorite websites or blogs, upload their own documents, which we convert to audio files\u00a0(desktop only), or search past articles \/ content to create &#8220;playlists&#8221; of interesting or must-read articles.<\/p>\n<p>Some apps\u00a0allow\u00a0<i>non<\/i>-interactive web on-the-go,\u00a0requiring\u00a0users\u00a0to fully prepare\u00a0what they\u2019re going to listen to by searching and saving specific articles\u00a0<i>before<\/i>\u00a0they head out.\u00a0We remove that burden\u2014our users\u00a0just\u00a0launch the app\u00a0and listen to the fresh headlines using their headphone or Bluetooth controls to\u00a0scan\u00a0through\u00a0their\u00a0favorite news outlets,\u00a0saved articles, and\u00a0more, and then select what to listen to\u00a0hands-free.<\/p>\n<p>The\u00a0internet is a great place, but, if you\u2019re anything like me,\u00a0you can easily lose time, especially when you use the standard browser. You might\u00a0intend to\u00a0check\u00a0one simple thing, but\u00a0spend a long time\u00a0browsing unnecessary content.\u00a0<\/p>\n<h3>What were your goals?<\/h3>\n<p>First, we wanted to\u00a0make something unique,\u00a0something\u00a0that\u00a0had the potential to change\u00a0how people interact with the internet. What if we made\u00a0<i>listening\u00a0<\/i>to the web and other content so\u00a0convenient\u00a0that\u00a0it became people\u2019s\u00a0preferred way\u00a0to consume news, documents, and other digital content?<\/p>\n<p>Second, but just as important, we wanted to\u00a0turn our ideas\u00a0into\u00a0a\u00a0successful business.<\/p>\n<p>We\u2019ve achieved the first, and\u00a0we\u2019re well on our way to accomplishing the second.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/44\/2019\/03\/Picture4.png\" alt=\"Speech Central on Android\" width=\"200\" class=\"alignleft size-full wp-image-32895\" \/><\/p>\n<h3>Why did you choose Xamarin?\u00a0\u00a0<\/h3>\n<p>We started <em>Speech Central<\/em>\u00a0with a Windows app, and\u00a0we wanted to\u00a0reuse\u00a0our\u00a0Windows app\u00a0code\u00a0to capitalize on our\u00a0early\u00a0success. If\u00a0we\u00a0were launching\u00a0a new\u00a0project,\u00a0we\u2019d\u00a0choose Xamarin\u00a0to\u00a0quickly\u00a0reach as many platforms as possible.<\/p>\n<p>We&#8217;ve built\u00a0some apps\u00a0in\u00a0Java and\u00a0Swift, but\u00a0they were\u00a0fairly simple (<em>Country Calling Code Fixer<\/em> and\u00a0<em>Digty\u00a0Clock<\/em>).<\/p>\n<p>We\u00a0<i>could\u00a0<\/i>develop Java\u00a0and Swift\u00a0apps in\u00a0Android Studio and XCode,\u00a0but\u00a0those environments\u00a0are\u00a0less productive than Visual Studio. We\u2019re a small team, and any productivity gains make a big difference.\u00a0Thus,\u00a0when it came time to expand <em>Speech Central<\/em> to other platforms, Visual Studio Tools for Xamarin was an easy choice.<\/p>\n<p>Today,\u00a0we do almost\u00a0<i>everything\u00a0<\/i>with\u00a0.NET and Microsoft technology, from\u00a0Visual Studio (on Windows and Mac) to\u00a0Visual Studio Tools for Xamarin to Azure to\u00a0HockeyApp\u00a0to\u00a0Visual Studio Team Services,\u00a0and Visual Studio Mobile Center Preview.<\/p>\n<h3>What&#8217;s the most compelling or exciting aspect of your app<\/b><b>?\u00a0<\/h3>\n<p>For our mobile users,\u00a0interactive web\u00a0is our key differentiator. On desktop,\u00a0it\u2019s our versatility:\u00a0there\u2019s something for everyone,\u00a0from\u00a0creating and listening to\u00a0audio files\u00a0to making web content accessible for visually impaired users\u00a0to listening and sharing\u00a0documents, e-books, and more.<\/p>\n<p>Based on our analytics,\u00a0no single\u00a0use case is dominant, and that\u2019s what we\u2019re shooting for.\u00a0<\/p>\n<h3>How long did it take you to ship your apps, from design to deploy?<\/h3>\n<p>We\u00a0decided\u00a0to use\u00a0Xamarin.Android,\u00a0Xamarin.iOS,\u00a0and\u00a0Xamarin.Mac,\u00a0which gave us\u00a0full\u00a0access\u00a0to\u00a0every element that\u00a0a traditional Android or iOS\u00a0app developer has in their toolkit.\u00a0While\u00a0we\u00a0could have gotten slightly better code reuse from\u00a0Xamarin.Forms,\u00a0we\u00a0still share a significant percentage of code across all of our desktop, mobile, wearable, and other connected device\u00a0app versions.<\/p>\n<p>We only have one full time developer\u00a0(me), and it took us about a year to launch (including\u00a0ramp time). Without Xamarin, it would have taken twice as long.\u00a0Today, we release updates at least monthly, but often more frequently.<\/p>\n<h3>How do you use Microsoft Azure?\u00a0<\/h3>\n<p>We initially stored data in JSON format, and\u00a0we\u00a0transitioned\u00a0<em>Speech Central<\/em>\u2019s backend\u00a0to\u00a0Microsoft Azure\u00a0several months ago to\u00a0(1)\u00a0begin testing syncing content across platforms and devices (we hadn\u2019t even released on some platforms\u00a0when we started the transition) and (2) future-proof our app, so when we want to make content sync available to users, it\u2019ll be simple\u2014we&#8217;ll just\u00a0enable a login dialog inside the app.<\/p>\n<p>In our experience,\u00a0Microsoft Azure\u00a0libraries\u00a0have\u00a0very good APIs to\u00a0easily sync and retrieve\u00a0app data.<\/p>\n<h3>How are using mobile DevOps \/ CI?<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/44\/2019\/03\/Picture21.png\" alt=\"Speech Central on Apple Watch\" width=\"200\" class=\"alignright size-full wp-image-32892\" \/>Mobile quality\u00a0starts with quality\u00a0procedures and processes.\u00a0Users are fickle and different kinds of users have different expectations.\u00a0For example, when\u00a0you\u00a0launch\u00a0something new, users\u00a0<i>may\u00a0<\/i>be somewhat forgiving about one or two small issues, but, especially over the last few years, this\u00a0is becoming less and less the case. As competition\u00a0increases,\u00a0users will give up and look for an alternative at the first indication\u00a0an\u00a0app doesn\u2019t meet\u00a0their\u00a0standards.<\/p>\n<p>To deliver this level of quality, crash analytics\u00a0play a major role.\u00a0It\u2019s\u00a0impossible to\u00a0avoid\u00a0all\u00a0bugs and crashes, no matter how much you test.\u00a0This doesn\u2019t mean that you shouldn\u2019t comprehensively test your apps, but that you need\u00a0a plan to deal with inevitable crashes.<\/p>\n<p>Capturing and fixing issues requires\u00a0robust\u00a0crash analytics.\u00a0We\u2019ve used\u00a0<a href=\"https:\/\/hockeyapp.net\/\" target=\"_blank\" rel=\"noopener noreferrer\">HockeyApp<\/a>\u00a0for quite some time, and\u00a0I\u2019ve started exploring <a href=\"https:\/\/www.visualstudio.com\/vs\/mobile-center\/\" target=\"_blank\" rel=\"noopener noreferrer\">Visual Studio Mobile Center<\/a>, which, first off,\u00a0is wonderfully\u00a0designed in addition to delivering great\u00a0crash logs that help us\u00a0identify and\u00a0resolve\u00a0issues.<\/p>\n<p>We\u2019ve\u00a0also\u00a0used <a href=\"https:\/\/www.visualstudio.com\/team-services\/\">Visual Studio Team Services<\/a>\u00a0from the very start. If a new commit causes our tests to fail, we can dig into which changes are in the branch, troubleshoot, and\u00a0easily revert to a\u00a0secure, stable code backup.\u00a0When we\u2019re developing new features, we\u2019re bound to run into times\u00a0when\u00a0something that\u00a0worked\u00a0in the last build now just\u00a0<i>doesn\u2019t.\u00a0<\/i>It\u2019s\u00a0essential\u00a0to\u00a0quickly\u00a0pinpoint\u00a0which\u00a0change caused the problem.<\/p>\n<p>In addition to using\u00a0HockeyApp and Visual Studio Mobile Center Preview for crash data, we also track user behavior to find ways to improve. As I mentioned, we\u00a0designed\u00a0the\u00a0app based on my personal experiences and UI preferences. With\u00a0HockeyApp, we\u2019ve learned that\u00a0my assumptions\u00a0about our users\u00a0aren\u2019t always right.<\/p>\n<p>For example, <em>Speech Central<\/em> includes many\u00a0user\u00a0commands, which we\u00a0ordered based\u00a0on how<i>\u00a0I\u2019d<\/i>\u00a0like to use and navigate the app, making some\u00a0controls easier to access than others. After looking at\u00a0production\u00a0usage analytics,\u00a0we\u00a0quickly realized that some commands were much more popular than we\u00a0thought\u00a0they\u2019d be and rearranged\u00a0shortcuts accordingly.<\/p>\n<h3>What have your users said about your app?\u00a0<\/h3>\n<p>We appreciate any praise about our\u00a0overall\u00a0app\u00a0quality,\u00a0\u00a0but\u00a0it\u2019s always\u00a0most pleasing to\u00a0hear\u00a0how\u00a0<em>Speech Central<\/em>\u00a0is improving our users\u2019 lives, whether it\u2019s\u00a0meeting\u00a0a\u00a0goal,\u00a0being more efficient at work,\u00a0or\u00a0allowing someone with a disability to experience something never before possible.<\/p>\n<p>We\u2019ve also been reviewed and featured in many blogs. In one example,\u00a0<i>Windows Central<\/i>\u00a0tested\u00a0our\u00a0app\u00a0over an extended period\u00a0and wrote a\u00a0great feature sharing their\u00a0experiences (you can read the article\u00a0<a href=\"https:\/\/www.windowscentral.com\/speech-central-text-speech-windows-10-review?_ga=1.12027508.1946126603.1485820714).\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>).<\/p>\n<h3>Have you accomplished your goals?<\/h3>\n<p>I believe that you should always have\u00a0new\u00a0goals, so\u00a0it\u2019s\u00a0a never-ending process.\u00a0We\u2019ve accomplished so\u00a0much,\u00a0but\u00a0we\u00a0have many\u00a0milestones\u00a0that we\u2019re still working toward\u2014and even more that we don\u2019t even know about yet.<\/p>\n<h3>What advice do you have for developers or organizations who are just starting mobile development?\u00a0<\/h3>\n<p>First, deeply understand your needs. Every choice has trade-offs, and\u00a0you\u00a0should select the option that benefits an individual project, not blindly follow\u00a0any \u201crules\u201d\u00a0or advice.\u00a0In my\u00a0experience, others\u2019 advice is often based on assumptions that may be true for most apps, but not necessarily for my projects.<\/p>\n<p>For Xamarin specifically, the\u00a0<a href=\"https:\/\/developer.xamarin.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">official guides\u00a0from the Developer Center<\/a>\u00a0are a great place to start!\n&nbsp;\n&nbsp;\n<i>Visit\u202f<\/i><a href=\"http:\/\/xamarin.com\/customers\" target=\"_blank\" rel=\"noopener noreferrer\"><i>xamarin.com\/customers<\/i><\/a><i>\u202fto learn how our customers across industries and geographies deliver amazing mobile apps, and visit\u202f<\/i><a href=\"http:\/\/xamarin.com\/download\" target=\"_blank\" rel=\"noopener noreferrer\"><i>xamarin.com\/download<\/i><\/a><i>\u202fto start building your own.<\/i>\t\t<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Labsii\u00a0is a Serbian-based software development firm focused on creating better accessible, utility-driven apps\u00a0for everyday tasks. Their\u00a0Speech Central\u00a0app allows users to use remote controls, such as those on headphones or Bluetooth commands, to browse the web, select articles they&#8217;d like to listen to in depth, and initiate text-to-speech capabilities.\u00a0From freeing commuters trying to keep up with\u00a0the [&hellip;]<\/p>\n","protected":false},"author":564,"featured_media":32889,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2],"tags":[9],"class_list":["post-32886","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developers","tag-case-studies"],"acf":[],"blog_post_summary":"<p>Labsii\u00a0is a Serbian-based software development firm focused on creating better accessible, utility-driven apps\u00a0for everyday tasks. Their\u00a0Speech Central\u00a0app allows users to use remote controls, such as those on headphones or Bluetooth commands, to browse the web, select articles they&#8217;d like to listen to in depth, and initiate text-to-speech capabilities.\u00a0From freeing commuters trying to keep up with\u00a0the [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/posts\/32886","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/users\/564"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/comments?post=32886"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/posts\/32886\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/media?parent=32886"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/categories?post=32886"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/tags?post=32886"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}