僅僅只是利用電子郵件溝通是遠遠不夠的,近來各種針對視像會議的通信軟件一炮而紅,例如 Slack, Zoom, Microsoft Teams等等。這些軟件可以提供許多很多面對面對話的機會,尤其是針於較小的工作團體。視像會議能夠增加各自在家的同事互相了解之餘,也有助於減少員工因為遠端工作而產生的孤獨感。
相比傳統軟件一次收費或定期訂閱收費,開源軟件走的是截然不同的方向。而明顯的是,不同商業巨頭亦開始樂意走進這條新路。
Photo by Philipp Berndt on Unsplash
一般的用家可能會對 open source 開源這個概念感到疑惑:正常在市面上的軟件,不論是遊戲、文書、作業系統,通常都是收費,由以前一次收費到現在流行的 Software as a Service (SaaS)定期訂閱收費模式。這些軟件不會讓你直接接觸到軟件的源碼,所有源碼都加密好才推出市面,以免其他人能夠輕易複製自己的軟件作其他用途。有些公司甚至透過購買其他公司的源碼專利,以作為賺錢的途徑。
“Org charts” comic by Manu Cornet
不過,開源軟件就是走傳統軟件的相反方向:它任由他人取用軟件本身的源碼,在指定的軟件協定下(如BSD授權條款)保留一部分權利,而允許他人以學習、修改和以任何目的向任何人分發該軟件,並常常在網絡的互動社群中被公開和合作開發、改良。最有代表性的軟件莫過於網頁瀏覽器 Mozilla Firefox 和 行動作業系統 Android。
開源軟件漸漸受大型商業機構認可,甚至視為金蛋。今年7月 IBM就以每股190美元、 總值340億美元收購知名開源作業系統的開發商 Red Hat,以共同開發次世代的混合雲端平台。2018 微軟亦花了75億美元收購代管眾多開源軟件源碼的服務平台 GitHub,以擺脫多年來相對封閉的形象,亦強調 GitHub 會「加強對開發者自由、開放、創新程度」, 秉持開發者優先的精神,與微軟各自保持獨立的營運模式。由此可見,商業機構現在已經視開源為一種使到其本身得以活化的龐大資源。
Joining forces with IBM gives Red Hat the opportunity to bring more open source innovation to an even broader range of organizations and will enable us to scale to meet the need for hybrid cloud solutions that deliver true choice and agility. - JIM WHITEHURST, PRESIDENT AND CEO, RED HAT
一條就是關起門來自己做,典型的就是龍芯。因晶片還是商品,效能再高,沒人用就沒有價值,所以必須有相應的生態系統發揮價值。第二條路就是跟在別人後面,中國有許多公司做 x86、Arm、IBM Power 晶片,在某些特殊領域,用這些指令集架構確實可以做一些事,但受 ISA 所屬公司知識產權(IP)的控制,很難取得成功。
Different Types of Mobile Applications Development and Evolution in 2019Photo by Yura Fresh on Unsplash
Since the opening of iOS App Store in 2008, the number of mobile applications (‘apps’) available on Android and iOS platforms has already showed an exponential growth beyond 2 million. Nowadays, city dwellers manage all kinds of matters through their mobile phones, from online banking, social media accounts, gaming, video-shooting to daily transaction. Some may even choose mobile phones over their wallets if they have to leave home. When it comes to connection, mobile apps become indispensable to clients and staff of enterprises of all sizes.
Your mobile device has quickly become the easiest portal into your digital self. — — Phil Nickinson, Editor of Android Central
Mobile apps development was a craze before and after 2012. All you needed to make your first bucket of gold is to develop a convenient and user friendly app at that time. But modern-day companies can select suitable types of mobile apps to be developed according to their own business needs, resources and time constraints by drawing reference from the flourishing apps market. To help you narrow down your choices and find the right one, we will briefly explain to you different types of mobile apps development.
Native app is written in the same set of native code language used in writing the mobile phone system. From the earliest iOS’s Objective C to Swift and Android’s Java to Kotlin, writing apps in the native language is regarded as the most direct way in apps development. In theory, native app makes the most efficient use of all features in a mobile phone and provides the best user experience.
Native app has an edge over other types of applications in utilizing the features of a mobile phone, in the sense that native app could adapt the changeCost matters and time is tight, the market always automatically adjusts and seeks new paths in apps development. The hybrid apps were born.. Native app is the first to use and adopt new features, such as the popular Machine Learning and Augmented Reality (AR) in recent years.
On the contrary, developing native apps incurs a comparatively high cost. Considering that the market is a blend of products out on iOS, Android and Windows, the app you developed is generally expected to support users from multiple platforms at the same time. Otherwise, writing the apps in separate sets of native code languages for different platforms may properly double the cost and duration required for apps development.
Examples of native apps include: Camera+, iCalender
From Hybrid Apps to Cross-platform Apps
Cost matters and time is tight, the market always automatically adjusts and seeks new paths in apps development. The hybrid apps were born.
Imagine that hybrid app installs a web browser in your mobile phone, as web browser is in nature universal among various mobile phones, so you can open a simulation of mobile app in the form of website through this browser. That’s how the primary shareable coding of an app could be displayed in the form of website. For the remaining features of an application that could not be displayed on a website, the parts must be written in the native code language of respective platforms. If you have to launch an application for both Android and iOS platforms, choosing hybrid over native app saves around 25% cost and duration of development to create the same effect.
In 2105, apps written in Iconic based on AngularJS and Cordova had bloomed and swept the world. However, the core problem of hybrid apps is the deficiency in user interfaces performance. In view of the very limited capability of Android and iOS browsers at that time, the user experience of hybrid apps was much worse than those native apps offer. For the experienced mobile phone users, a glance is enough to tell whether an app is hybrid. Corporate images may be adversely affected when clients had a bad experience on their hybrid apps.
But you don’t have to give up user experience for the sake of paying less with cross-platform app as a successor of hybrid created by mobile apps development companies. The biggest difference between cross-platform and hybrid is the improvement made on user interfaces experience. Cross-platform is no longer browser-based, indeed, it provides a common set of framework for user interface development, within which native user interface could be written, greatly rectifies the deficiencies of hybrid app in user experience. Development frameworks for cross-platform apps, for example, include React native of Facebook, Xamarin of Microsoft, Flutter and Vue Native of Google.
Although these development frameworks claim themselves to be development tools for native apps, being able to create a comparable user experience and efficiently utilize mobile phone features like native apps do, it still takes months for cross-platform apps to support the latest features added to mobile devices, falling way behind native apps do. If your business pursues timely support for the latest mobile phone features in your app, you may think twice if cross-platform is the best choice for you.
Even so, cross-platform apps have already met over 90% of user requirements. Popular apps we use in everyday life such as Instagram, Evernote, UBER, Twitter and Netflix are all cross-platform, without doubt cross-platform apps have mainstreamed in the mode of apps development.
From Web Apps to Progressive Web Application (PWA)
Web apps are, simply defined, webpages. But most of these webpages are built under the framework of Single Page Applications (SPA) and could bring users an impression and feeling similar to mobile apps, along with the improving technical capability of mobile browsers in recent years.
When it comes to user interface experience, web apps still perform below the before mentioned apps even with the improvement in current mobile browsers. Web apps also face limitations in function diversity, like failing to read QR codes, receive messages from Bluetooth devices and process payment through Apple Store/Play Store. But if you are planning to launch an app featured with simple data like text and images, web app is definitely the one for you.
Based on the characteristics of web apps, iOS and Android took corresponding actions in enhancing their capabilities and bring Progressive Web App (“PWA”) to the world. When you browse through iOS’s Safari or of Android’s Chrome, you can select and add any webpage to the screen of your mobile phone, and the webpage will then pop up in a look similar to mobile app. PWA looks exactly the same as other apps in the eyes of general users, with PWA, you can even use the features originally provided by native apps only, such as pushing messages, retrieving coordinates, taking photos and making use of the mobile compass function.
Another breakthrough achieved by web apps and PWA is that no download from App Store is required. Users have thousands reasons refusing to download an app, say limited Internet access, inadequate phone memory or having too many apps and one more is just too much. Web apps and PWA kick all these concerns out, to start with, users simply need a second to scan a QR code or search on Google. Such a fast and convenient experience in starting an app is definitely enjoyable to customers when promoting your new products.
Perhaps the most surprising thing is that web apps take the least time and cost among all types of apps development. Web apps support nearly all mobile phone platforms and desktop computers at minimum cost, are well-suited for services such as online shopping and room booking that do not engage exclusive features or functions of mobile phones. To get a taste of PWA, try Starbuck’s website at https://app.starbucks.com.
PowerApps
Besides apps designed for the public, many enterprises actively seek apps designed for internal use to facilitate corporate management and operation, particularly in supporting staff to claim reimbursement and apply for leave. PowerApps of Microsoft is what you are searching for.
PowerApps are affiliated to Microsoft Office 365. To begin with, staff only needs to download PowerApps from Apple Store/Play Store and login their accounts to a simplified user interface provided by PowerApps, on which staff could manage daily office matters through the small-sized applications pre-installed by administrators. PowerApps also collaborate and couple with OneDrive, SharePoint and Power BI of Office 365 to form an integral system, facilitating administrators and managers to extract data and reports for better understanding on the operation of the whole company.
The development cost of PowerApps is around 20% of general software applications, however the bundled cost of regular subscription fee for Microsoft Office 365 counts, as every PowerApps account must be linked to an Office 365 account. That’s a generous sum of money. But if your business is an existing customer of Office 365 and you are looking for applications to facilitate daily office operation, PowerApps works for you.
Game Development Engine
Unity and Unreal Engine are specifically designed for game development, supporting mobile apps as well as gaming platforms like PlayStation, Switch and Steam, commonly used in developing cross-platform games. Unity and Unreal Engine are strong in 3D presentation and game computing that are compatible with both game development and mobile apps, their hottest game creations include Minecraft and PUBG.
Yes, we know, there are many choices. To find out the one that suits you best, making the most efficient use of your precious time and money, feel free to contact us ONES Software for enquiries. We are here to provide our expertise in mobile apps development.
To find out more features and details of
Bookings ONE, contact us at:
All enterprises, big and small, wish to turn themselves into a smart office to fully utilize their resources. But, what is a smart office?
Smart office, based on leading-edge Internet technology that centralizes the control of crucial operation and services of an enterprise through data collection, creates a more advanced and people-oriented workplace under collaborative workings of Internet technology. While the enhanced user experience in smart office settings facilitates staff productivity and helps to attract and retain talents, businesses also enjoy savings in cost and boost in brand values through a more flexible and efficient deployment of existing office space.
The application of electronic devices and tools, such as iBeacon, sensors and mobile phone applications (“mobile apps”) are typical in smart office settings, saving staff from routine office chores and increasing their focus on business activities. One of the key elements of smart office is the adoption of room booking system. Room booking system allows users to identify the best suitable room for meetings and complete the booking in a few clicks independently of time and location with mobile apps supporting various platforms. Fast and easy room booking are available at fingertips. By providing a comprehensive range of room information and centralizing the scheduling of rooms on a common platform, room booking system provides the know-how for better resources utilization for the management.
The rollout of our company featured product – Bookings ONE, aims at providing an entire new experience in room booking to make the best use of office resources. Booking ONE stands out for its features below:
Room Booking Schedule
The basics of room booking system rooted in the booking schedule. Bookings ONE strives to create a concise and clear schedule presentation and support all operations in computers interfaces and mobile devices. You can browse the latest schedule and manage room booking, wherever you happen to be, just a few clicks on your mobile phone.
Room Display
Display mounted outside the room shows clearly the current booking status and operating condition of the room, creating an energizing image for the company while gently reminding staff and guests of the meeting location.
The design of room display under Bookings ONE seamlessly supports tablet devices under various operation platforms, including iOS, Android and Windows. Users can make an instant booking simply by tapping on the display mounted outside the room. Bookings ONE also supports display devices with LED indicators, which enables users to identify the status of rooms easily from a distance through color variation. The indicators included three colors: the green represents the room is available, orange represents reserved and red means currently being occupied.
When you have a sudden need for a meeting room, and are uncertain about which rooms have been booked already, the LED indicators will definitely brighten up your mind and show you the way.
3D Floor Plan
A well-designed interface of the booking system is essential in supporting the management to devise strategies for resources allocation. Considering that there are 50 conference rooms in a company, for most of the booking systems, the data of booking status and appointment details of the 50 rooms would be tabulated plainly on a list, providing you a comprehensive set of data. However, extracting useful information from such a large volume of data could be both time-and-energy consuming, managers may be tricked into overlooking important information and even resulting in mismatch of resources.
That’s why Bookings ONE has additionally placed emphasis on the 3D floor plan of each floor, besides providing standard lists of data-set. We visualize all booking status on a map, you will be informed of dozens room status at a glance. Easily readable and understandable.
Real Time Analytics
Another effective tool for the management to optimize resources utilization is real time data analytics. Cost of conference rooms, directly or indirectly, is expensive considering the spiraling rental cost.
In order for the management to utilize and allocate company resources efficiently, conference rooms in particular, Bookings ONE generates graphical analytics and reports that could be exported to Excel file to facilitate readability and better understanding on information such as utilization rate of rooms, the length of booking and absence rate to use a room of respective users at different times.
Calendar Integration
Using calendars of Google and Outlook to coordinate booking schedule has often been the norm in companies before the presence of room booking system. We understand that it takes time for users to adapt new booking technology and be familiar with a new interface before enjoying the benefits Bookings ONE offers.
Therefore, we devoted time in developing seamless integration with calendar systems including Google Calendar, Exchange server and Office 365 that are commonly used in the business sector, and succeeded in synchronizing bookings made through a third-party system into Bookings ONE simultaneously. New users of Bookings ONE could continue to book through the calendars they are used to, while enjoying the features and benefits offered by Bookings ONE during the transitional period.
Angel in Details
We strive to offer the best user
experience to our business partners while fulfilling the needs of both management and
staff. Bookings ONE can upgrade corporate image and improve staff
efficiency.
To find out more features and details of
Bookings ONE, contact us at:
在CSS 誕生前,要控制網頁如何顯示,就要在HTML檔案內包含顯示的資訊,例如字型的大小和顏色、背景應該是怎樣的、如何排列等等,這些都必須逐一在HTML檔案內列出。有時會因為資訊重複列出而令到網站過份冗長。CSS的出現使開發者可以將大部分這些顯示用的資訊中隔離出來,從而簡化 HTML 的檔案。這些資訊會被放在一個輔助的,用CSS語言寫的檔案中。理想來說, 現在的HTML檔案中應該只包含結構和內容的資訊,而CSS檔案中就包含樣式的資訊,以達致分工的目的。
前端開發者的主要職責,除了負責網頁的內容如何擺放,亦即所謂的 User Interface(使用者介面),也要照顧到用戶的瀏覽體驗,那就是 User EXperience(使用者體驗),這就要和專門的 UI、UX 設計師合作才得以處理得宜。前端開發者也要和後端開發者處理前後端之間的編程介面(API),使得有需要數據得以儲存、獲取和處理等等。